字符串格式化
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)
}