16

我今天遇到了一些代码,这些代码让我惊讶的是没有定义的“打印”。玩了一会儿后,我确定您可以使用打印来将东西转储到控制台

例如

 print("Hello World")

所以它似乎是某种内置的,但我找不到任何对它的引用(我认为 go 规则是小写函数,无论如何都不会导入)

这是众所周知的吗?如果是的话,是否还有其他便利功能,或者我只是非常非常困惑?

还有一点——这个打印不使用 fmt.Printf 的魔法格式化技巧 (%v)——如果你打印地图或结构,你似乎得到了它们的地址。

4

3 回答 3

11

printprintln 此处定义

他们的目的在这里解释

于 2013-07-16T20:18:45.837 回答
11

你是对的,其他人已经抱怨过了。它已被添加到下一个 Go 版本 (go1.2) 的内置文档中。

内置包

功能打印

func print(args ...Type)

print内置函数以特定于实现的方式格式化其参数并将结果写入标准错误。打印对于引导和调试很有用;不能保证保持语言不变。

函数打印

func println(args ...Type)

println内置函数以特定于实现的方式格式化其参数并将结果写入标准错误。始终在参数之间添加空格并附加换行符。Println 对于引导和调试很有用;不能保证保持语言不变。

于 2013-07-16T20:42:16.900 回答
0

感谢大家的快速回复

让我失望的是“内置”包没有定义打印(在我正在使用的版本中)

一般来说,依赖它似乎是一个危险的功能,所以我会假装我从未见过它并继续 fmt.Print....

于 2013-07-16T21:06:38.237 回答