Go 语言中的fmt包提供了丰富的格式化输入输出功能,它是进行基本I/O 格式化操作的标准库。下面是对fmt包主要功能和使用方法的详细分析:
格式化输出
常用函数:
1.Print类型函数:
o fmt.Print: 输出任意数量的参数,每个参数之间自动加上空格,不带换行符。
o fmt.Println: 类似于Print,但在最后一个参数之后添加换行符。
o fmt.Printf: 格式化输出,允许你指定输出格式,同样会在最后自动添加换行符,除非格式字符串末尾是%n。
示例:
Go
1fmt.Printf("Hello, %s!\n", "World") // 输出"Hello, World!"
2fmt.Println(1, 2, "three") // 输出"1 2 three"
2.Fprint类型函数:
o fmt.Fprint、fmt.Fprintf和fmt.Fprintln分别对应上述Print 系列函数,但它们接收一个io.Writer类型作为第一个参数,这样
你可以将输出定向到任何实现了Write方法的对象,比如文件、
网络连接等。
示例:
Go
1file, _ := os.Create("")
2defer file.Close()
3fmt.Fprintf(file, "Value: %d\n", 42) // 将格式化的字符串写入文件
go语言字符串转数组格式说明符(Verb):
•在Printf中,格式字符串可以通过%后面跟随不同的字符来指定如何格式化后续的参数。例如:
o%d表示十进制整数。
o%v表示值的默认格式表示,对于不同类型的值有不同的效果。
o%s表示字符串。
o%f或%g表示浮点数。
o%t表示布尔值。
o还可以指定宽度和精度,例如%5.2f表示宽度至少为5,小数点后保留两位的浮点数。
•宽度和精度可以通过.number或者*来指定,其中*需要由一个int类型的参数来给出实际的数值。
示例:
Go
1fmt.Printf("%10s %-10s\n", "左对齐", "右对齐") // 宽度为10的字符串
2fmt.Printf("%.2f\n", 3.14159) // 输出"3.14"
3fmt.Printf("%*.*f\n", 8, 2, 3.14159) // 第一个*的值代表宽度,第二个*的值代表精度
格式化输入
•fmt.Scan、fmt.Scanf和fmt.Scanln可以用于从标准输入读取并解析格式化的数据。
示例:
Go
1var name string
2var age int
3fmt.Scan(&name, &age) // 输入"Alice 25" 后,name = "Alice",age = 25
4fmt.Scanf("%s%d", &name, &age)
字符串格式化
•fmt.Sprintf创建一个格式化后的字符串,而不进行输出。
示例:
Go
1message := fmt.Sprintf("User %s has %d points.", "John Doe", 100)
2// message 现在是"User John Doe has 100 points."
以上是fmt包中最常见的使用方式和特点,实际上它还支持更多复杂的格式化选项,包括处理Unicode 编码、指针、结构体、数组切片等类型的格式化输出。通过深入学习和实践,你可以掌握更多关于fmt包的强大功能。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论