fmt
Golang 标准库 - fmt
fmt 包实现了格式化 I/O 函数,类似于 C 的 printf 和 scanf。格式字符串中,‘verb’ 描述如何格式化参数。
主要功能说明:
-
输出函数:
Print/Println格式化并输出到标准输出Printf使用格式字符串输出Sprint/Sprintf返回格式化后的字符串Fprint/Fprintf输出到指定 io.Writer
-
输入函数:
Scan/Scanln从标准输入读取Scanf按格式从标准输入读取Sscan/Sscanf从字符串读取
-
常用格式动词:
%v默认格式%+v添加字段名%#vGo 语法表示%T值的类型%d十进制整数%s字符串%f浮点数%t布尔值%p指针
type Person struct {
Name string
Age int
}
func main() {
// 1. 基本输出
fmt.Println("=== 基本输出 ===")
fmt.Print("Hello ")
fmt.Println("World")
fmt.Printf("Name: %s, Age: %d\n", "Alice", 30)
// 2. 格式化字符串
fmt.Println("\n=== 格式化字符串 ===")
s := fmt.Sprintf("Pi = %.2f", 3.14159)
fmt.Println(s)
// 3. 结构体格式化
fmt.Println("\n=== 结构体格式化 ===")
p := Person{Name: "Bob", Age: 25}
fmt.Printf("%%v: %v\n", p)
fmt.Printf("%%+v: %+v\n", p)
fmt.Printf("%%#v: %#v\n", p)
fmt.Printf("%%T: %T\n", p)
// 4. 各种类型格式化
fmt.Println("\n=== 各种类型格式化 ===")
fmt.Printf("整数: %d, %b, %o, %x\n", 255, 255, 255, 255)
fmt.Printf("浮点数: %f, %.2f, %e\n", 3.14159, 3.14159, 3.14159)
fmt.Printf("布尔值: %t\n", true)
fmt.Printf("指针: %p\n", &p)
}