首先声明,在 Go 语言中:
- 存在
print
、println
,不存在printf
- 存在
fmt.Println
、fmt.Println
与fmt.Printf
下面是 print
与 fmt.Print
的具体区别:
案例:使用 fmt.Println
返回值验证打印语句是否发生错误:
func main() {
n, err := fmt.Println("Hello, world!")
if err != nil {
fmt.Fprintf(os.Stderr, "Println failed: %v\n", err)
os.Exit(1)
}
fmt.Println("Printed", n, "bytes")
}
在这个示例中,我们打印了"Hello, world!"
,然后检查了fmt.Println
返回的错误。如果发生错误,我们将错误信息写入到os.Stderr
,并退出程序。如果没有发生错误,我们将打印出写入的字节数。
在大多数情况下,fmt.Println不会返回错误。但是如果你将 os.Stdout
重定向到一个已经关闭或不可写的文件,或者发生了类似的问题,fmt.Println可能就会返回错误。