字符串格式化
307字约1分钟
2025-02-03
在Go里面,我们通过需要格式化打印一些字符串结果出来,这时可以利用fmt.Sprintf()
package main
import (
"fmt"
"strconv"
)
func main() {
// 格式化整数
num := 42
str := fmt.Sprintf("整数: %d", num)
fmt.Println(str)
// 格式化浮点数
floatNum := 3.14159
floatStr := fmt.Sprintf("浮点数: %.2f", floatNum)
testStr := fmt.Sprintf("%v", floatNum)
fmt.Println(floatStr)
fmt.Println(testStr)
fmt.Printf("%T\n", testStr)
// 格式化布尔值
boolVal := true
boolStr := fmt.Sprintf("布尔值: %t", boolVal)
fmt.Println(boolStr)
// 格式化字符串
name := "Alice"
nameStr := fmt.Sprintf("字符串: %s", name)
testStr = fmt.Sprintf("%v", name)
fmt.Println(nameStr)
fmt.Println(testStr)
// 格式化Unicode字符
unicodeChar := '☺'
unicodeStr := fmt.Sprintf("Unicode字符: %c", unicodeChar)
fmt.Println(unicodeStr)
// 使用strconv.FormatInt格式化整数
intStr := strconv.FormatInt(42, 10)
fmt.Println("整数字符串:", intStr)
// 解析字符串到整数, 演示int64类型
intVal, err := strconv.ParseInt(intStr, 10, 64)
if err != nil {
fmt.Println("解析整数字符串失败:", err)
} else {
fmt.Println("整数值:", intVal)
fmt.Printf("%T\n", intVal)
}
// 解析字符串到整数, 演示int类型
num, err = strconv.Atoi(intStr)
if err != nil {
fmt.Println("解析整数字符串失败:", err)
} else {
fmt.Println("整数值:", num)
fmt.Printf("%T\n", num)
}
// 使用strconv.FormatFloat格式化浮点数
floatStr = strconv.FormatFloat(3.14159, 'f', 2, 64)
fmt.Println("浮点数字符串:", floatStr)
// 使用strconv.FormatBool格式化布尔值
boolStr = strconv.FormatBool(true)
fmt.Println("布尔值字符串:", boolStr)
}