简介

println是一种内置于语言中的函数。它位于规范的Bootstrapping部分。

当前实现提供了几个在引导期间有用的内置函数。记录这些函数是为了完整性,但不保证保留在该语言中。他们不会返回结果。

1
2
3
4
Function   Behavior

print      prints all arguments; formatting of arguments is implementation-specific
println    like print but prints spaces between arguments and a newline at the end

因此,它们对开发人员很有用,因为它们缺少依赖性(内置于编译器中),但不包含在生产代码中。同样重要的是要注意print并println 报告stderr,而不是stdout。

println是低级的打印方法,只能打印一些简单类型,例如struct类型打印就会报错。一般调试的时候,如果没有引入fmt包,那么用println可以简单用一下,生产环境建议用fmt.Println。

混合使用时的奇怪现象

Go 中同时使用fmt.Println和println为什么输出顺序不固定

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
package main

import (
    "fmt"
)

func main() {
    println("first")
    println("second")
    fmt.Println("third")
}

println 是把结果输出到 standard error

fmt.Println 是把结果输出到 standard output