我来自JS之地,大多用过像console.logconsole.error这样的东西

现在,我正在学习的教程,那边的老师做了类似的事情

package main

import "fmt"



func main() {

    var FirstName = "Varun"
    var lastName = "bindal"

    fmt.打印项目(FirstName, lastName)
    fmt.打印("%T", FirstName)
}

在这里,他执行打印F来判断类型,而不是打印项目.起初,我认为println打印在新行中,所以我更改了我的

fmt.打印("%T", FirstName)

fmt.打印项目("%T", FirstName)

但这个记录是%T Varun,而不是告诉我是哪种类型.

I went 到 their site 到 figure it out and was either unable 到 comprehend it or wasn't able 到 find it out.

Googling lead me know that there are three ways 到 log/print in Go

  1. 打印项目
  2. 打印
  3. 打印

那么,如果有人打来电话,你能说出他们三个人之间的区别吗?

推荐答案

正如Nate所说:fmt.Printfmt.Println打印原始字符串(fmt.Println附加一个换行符)

fmt.Printf不会打印新行,您必须将其添加到\n结尾.

fmt.Printf的工作方式很简单,您提供一个包含某些符号的字符串,其他参数替换这些符号.例如:

fmt.Printf("%s is cool", "Bob") 

在本例中,%s代表一个字符串.在您的例子中,%T打印变量的类型.

Go相关问答推荐

Golang应用程序:所请求的资源上不存在HTTP-Control-Allow-Origin标头

Golang文本/模板序列范围

创建服务时云运行触发器执行失败

错误&对象已被Golang在K8s操作符上修改

包裹网.Conn导致挂起读取

如何将验证器标记添加到嵌套字段

Go 中的 YAML 自定义标签

io.Reader 无限循环与 fmt.Fscan

如何使用 sync.WaitGroup 来执行所有的 goroutine?

Yocto 无法交叉编译 GoLang Wails 应用程序

golang 上基于标头的版本控制

Golang模板无法访问embedFS中的文件

为什么 0 big.Int 的 .Bytes() 值是空切片?

go 是否对 struct 使用空间填充之类的东西?

如何在 Go 中使用 Pact 返回错误请求(400、500)?

如何解决在mac m1中运行gcc失败退出状态1?

comparable和any有什么区别?

Go 1.18 泛型如何使用接口定义新的类型参数

有没有办法停止long blocking 函数?

如何解决考虑预分配 (prealloc) lint?