我编写了简单的代码来测试println和fmt.Println,但是当我运行代码时,它几乎每次都会打印出不同的结果。我试图谷歌println和fmt.Println之间的差异,但没有得到任何结果。有没有人知道这两个函数的真正区别或优先级或顺序?
以下是代码:
package main
import (
"fmt"
)
func main(){
println("a")
fmt.Println("b")
println("c")
fmt.Println("d")
p()
}
func p(){
println("e")
fmt.Println("f")
println("g")
fmt.Println("h")
}
谢谢!
答案 0 :(得分:3)
func println(args ...Type)
println内置函数将其参数格式化为 特定于实现的方式并将结果写入标准错误。 始终在参数之间添加空格,并附加换行符。 Println对于引导和调试很有用;它不是 保证保持语言。
func Println(a ...interface{}) (n int, err error)
Println使用其操作数和写入的默认格式进行格式化 到标准输出。总是在操作数和a之间添加空格 附加换行符。它返回写入的字节数和任何字节数 遇到写错误。
fmt.Println()
使用stdout
; println()
使用stderr
。
正如所料,具有不同目的的两种不同功能会产生不同的结果。
答案 1 :(得分:2)
最佳做法:仅使用fmt.Println("My text...")
请勿使用println("My text...")