golang中print的区别
时间:2020-7-7 14:44
浏览:4398
评论:0 条

print 在golang中 是属于输出到标准错误流中并打印,官方不建议写程序时候用它。可以在debug时候用
fmt.Print 在golang中 是属于标准输出流,一般使用它来进行屏幕输出。
fmt.Printf是格式化输出,
fmt.Println是输出后换行,
fmt.Sprint 是返回一个格式化的字符串。
print是 builtin 包提供,语言内置,而 fmt.Print 来自标准库。
1.内置的print/println函数总是写入标准错误。 fmt标准包里的打印函数总是写入标准输出。 log标准包里的打印函数会默认写入标准错误,然而也可以通过log.SetOutput函数来配置。
2.内置print/println函数的调用不能接受数组和结构体参数。
3.对于组合类型的参数,内置的print/println函数将输出参数的底层值部的地址,而fmt和log标准库包中的打印函数将输出参数的字面值。
4.目前(Go 1.12),对于标准编译器,调用内置的print/println函数不会使调用参数引用的值逃逸到堆上,而fmt和log标准库包中的的打印函数将使调用参数引用的值逃逸到堆上。
5.如果一个实参有String() string或Error() string方法,那么fmt和log标准库包里的打印函数在打印参数时会调用这两个方法,而内置的print/println函数则会忽略参数的这些方法。
6.内置的print/println函数不保证在未来的Go版本中继续存在。



本文作者:eehello
文章标题: golang中print的区别
本文地址:https://www.xxnet.eu.org/?post=261
版权声明:若无注明,本文皆为“点滴记忆---观雨亭”原创,转载请保留文章出处。
本文地址:https://www.xxnet.eu.org/?post=261
版权声明:若无注明,本文皆为“点滴记忆---观雨亭”原创,转载请保留文章出处。

