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