如下所示,fmt.Println()println()在GO中都给出相同的输出:Hello world!

但是,它们之间有什么不同呢?

片段1,使用fmt包;

package main

import (
    "fmt"
)

func main() {
    fmt.Println("Hello world!")
}

片段2,没有fmt个包;

package main

func main() {
    println("Hello world!")
}

推荐答案

println是一个内置函数(进入运行时),最终可能会被删除,而fmt包在标准库中,它将持续存在.有关该主题,请参见the spec.

对于语言开发人员来说,拥有一个没有依赖项的println是很方便的,但方法是使用fmt包或类似的东西(例如log).

正如您所知,print(ln)函数的设计甚至不支持远程不同的输出模式,主要是一个调试工具.

Go相关问答推荐

如何将泛型函数作为参数传递给golang中的另一个函数?

Golang XML密钥名称冲突

如何给杜松子wine 的路由加上一个名字,比如Laravel ?

在GO中使用泛型类型 struct 实现接口方法

golang regex基于关键字拆分字符串

Go 1.20 中如何计算连接错误?

nixOS 上的 Nginx 反向代理在try 加载 css/js 时返回 404

在VSCode中如何使用特定的文件名提供编译命令

这是泛型的有效用例吗?

从单词中删除特殊字符

如果值为 false,gRPC 不返回布尔值

Apache Beam 左加入 Go

Go 的垃圾收集器在使用时删除 ZeroMQ 套接字

Golang Oauth2 服务帐户返回空刷新令牌字符串

如何在 Docker 容器中使用私有存储库进行身份验证

为什么 reflect.TypeOf(new(Encoder)).Elem() != reflect.TypeOf(interfaceVariable)?

在 Go 中将十六进制转换为带符号的 Int

在 go (1.18) 的泛型上实现多态的最佳方法是什么?

空接口与泛型接口有何不同?

Go 语言的select语句