在 Go 语言中,fmt 包提供了多种用于输出文本的函数。这些函数可以输出到标准输出(如控制台)或者返回格式化后的字符串。常用的输出文本函数包括 Print、Printf、Println、Fprint、Fprintf、Fprintln、Sprint、Sprintf 和 Sprintln。下面详细介绍这些函数及其用法。
fmt
Print
Printf
Println
Fprint
Fprintf
Fprintln
Sprint
Sprintf
Sprintln
这些函数将格式化后的字符串输出到标准输出(通常是控制台)。
Print 函数会输出参数的默认格式,没有添加任何格式化。
package main import "fmt" func main() { fmt.Print("Hello, ") fmt.Print("Go!") }
输出:
Hello, Go!
Printf 函数使用格式化动词来格式化字符串,然后输出。
package main import "fmt" func main() { name := "Alice" age := 25 fmt.Printf("Name: %s, Age: %d\n", name, age) }
Name: Alice, Age: 25
Println 函数会输出参数的默认格式,并在结尾添加一个换行符。
package main import "fmt" func main() { fmt.Println("Hello,") fmt.Println("Go!") }
这些函数将格式化后的字符串输出到指定的 io.Writer,如文件或缓冲区。
io.Writer
Fprint 函数会输出参数的默认格式到指定的 io.Writer。
package main import ( "fmt" "os" ) func main() { fmt.Fprint(os.Stdout, "Hello, ") fmt.Fprint(os.Stdout, "Go!") }
Fprintf 函数使用格式化动词来格式化字符串,然后输出到指定的 io.Writer。
package main import ( "fmt" "os" ) func main() { name := "Alice" age := 25 fmt.Fprintf(os.Stdout, "Name: %s, Age: %d\n", name, age) }
Fprintln 函数会输出参数的默认格式到指定的 io.Writer,并在结尾添加一个换行符。
package main import ( "fmt" "os" ) func main() { fmt.Fprintln(os.Stdout, "Hello,") fmt.Fprintln(os.Stdout, "Go!") }
这些函数将格式化后的字符串返回,而不是直接输出。
Sprint 函数会返回参数的默认格式的字符串。
package main import "fmt" func main() { s := fmt.Sprint("Hello, ", "Go!") fmt.Println(s) }
Sprintf 函数使用格式化动词来格式化字符串,然后返回。
package main import "fmt" func main() { name := "Alice" age := 25 s := fmt.Sprintf("Name: %s, Age: %d", name, age) fmt.Println(s) }
Sprintln 函数会返回参数的默认格式的字符串,并在结尾添加一个换行符。
package main import "fmt" func main() { s := fmt.Sprintln("Hello,", "Go!") fmt.Println(s) }
以下是一个包含所有上述函数的完整示例:
package main import ( "fmt" "os" ) func main() { // Print, Printf, Println fmt.Print("Print: Hello, Go!\n") fmt.Printf("Printf: %s, %d\n", "Alice", 25) fmt.Println("Println: Hello, Go!") // Fprint, Fprintf, Fprintln fmt.Fprint(os.Stdout, "Fprint: Hello, Go!\n") fmt.Fprintf(os.Stdout, "Fprintf: %s, %d\n", "Alice", 25) fmt.Fprintln(os.Stdout, "Fprintln: Hello, Go!") // Sprint, Sprintf, Sprintln s1 := fmt.Sprint("Sprint: Hello, Go!") s2 := fmt.Sprintf("Sprintf: %s, %d", "Alice", 25) s3 := fmt.Sprintln("Sprintln: Hello, Go!") fmt.Println(s1) fmt.Println(s2) fmt.Println(s3) }
Go 语言的 fmt 包提供了多种用于输出文本的函数,满足不同场景的需求。Print、Printf、Println 用于标准输出;Fprint、Fprintf、Fprintln 用于输出到指定的 io.Writer;Sprint、Sprintf、Sprintln 用于返回格式化后的字符串。通过掌握这些函数,可以灵活地格式化和输出文本内容。
原文链接:codingdict.net