【Go】Print函数的区别

根据fmt包提供的print系列函数。包括Fprint、Sprintln、Printf等各种函数,如果随意使用会变得混乱,因此整理了它们的区别。
虽然这是基础内容,如果有错误,请指正。

首先

打印类函数以Print()为基本形式,根据前缀和后缀的不同,表现出不同的行为。

因此,我们将从基本形式的Print()开始解释,并观察各个前缀和后缀的行为差异。

基本形式 输出()

以默认格式将输出发送到标准输出。


fmt.Print("Hello world!")
// -> Hello world!

接頭辭 F – 词缀 F

打印(), 格式打印(), 格式打印并换行()

首先,以字母“F”开头的内容,可以明确指定写入的目标位置。


// os.Stdout で書き込み先を標準出力に指定
fmt.Fprint(os.Stdout, "Hello world!")
// -> Hello world!

https://golang.org/pkg/fmt/#Fprint
https://golang.org/pkg/fmt/#Fprintf
https://golang.org/pkg/fmt/#Fprintln

以下是原生中文的表述:
https://golang.org/pkg/fmt/#Fprint
https://golang.org/pkg/fmt/#Fprintf
https://golang.org/pkg/fmt/#Fprintln

连词 S

Sprint(),Sprintf(),Sprintln()可以简述为:
将 Sprint()、Sprintf()和Sprintln()函数转化为汉语时可以表达为:
PrintF,PrintF格式化,PrintF新行

首先,带有”S”前缀的内容将以字符串形式返回经过格式化的结果,而非输出。
在进行变量赋值等操作时,请使用此选项。


hello := fmt.Sprint("Hello world!")
fmt.Print(hello)
// -> Hello world!

https://golang.org/pkg/fmt/#Sprint可以将不同类型的数据拼接为一个字符串。
https://golang.org/pkg/fmt/#Sprintf可以通过格式化字符串将不同类型的数据拼接为一个格式化后的字符串。
https://golang.org/pkg/fmt/#Sprintln可以将不同类型的数据拼接为一个字符串,并在末尾添加一个换行符。

词后缀 f

Printf()、Fprintf()、Sprintf() 输出函数

在后面加上“f”的东西可以指定格式。


hello := "Hello world!"
fmt.Printf("%s\n", hello)
fmt.Printf("%#v\n", hello)
// -> Hello world!
// "Hello world!"

https://golang.org/pkg/fmt/#Printf
https://golang.org/pkg/fmt/#Fprintf
https://golang.org/pkg/fmt/#Sprintf

https://golang.org/pkg/fmt/#Printf 可使用此函数在标准输出中打印格式化字符串。
https://golang.org/pkg/fmt/#Fprintf 可使用此函数将格式化字符串输出至指定的io.Writer。
https://golang.org/pkg/fmt/#Sprintf 可使用此函数将格式化字符串返回为一个字符串。

ln 是一个接尾辞。

打印(Println())、格式化打印(Fprintln())、转换为字符串后打印(Sprintln())

带有“ln”的部分,在操作数之间加入半角空格,并在字符串的末尾添加换行符。


// Printの場合は、スペースも改行も挿入されない
fmt.Print("Hello", "world!")
fmt.Print("Hello", "world!")
// -> Helloworld!Helloworld!

// Printlnの場合は、スペースと改行が挿入される
fmt.Println("Hello", "world!")
fmt.Println("Hello", "world!")
// -> Hello world!
// Hello world!

https://golang.org/pkg/fmt/#Println
https://golang.org/pkg/fmt/#Sprintln
https://golang.org/pkg/fmt/#Fprintln

请找到以下链接来了解更多关于fmt包中的Println函数:
https://golang.org/pkg/fmt/#Println
https://golang.org/pkg/fmt/#Sprintln
https://golang.org/pkg/fmt/#Fprintln

总结

F接头字 指定写入位置

 

S接头字 以字符串形式返回结果

 

f接尾字 指定格式

 

ln接尾字 在操作数之间添加空格,最后添加换行符

记住特征,然后灵活运用。 (Jì zhù , ​huó .)

请参阅

广告
将在 10 秒后关闭
bannerAds