跳到主要内容

Go strconv 包的主要功能

· 阅读需 2 分钟
素明诚
Full stack development

整数转换

Atoi(ASCII to Integer)将字符串转换为整数

Itoa(Integer to ASCII)将整数转换为字符串

ParseInt将字符串解析为指定基数(进制)的整数

FormatInt将整数格式化为字符串,可指定基数

浮点数转换

ParseFloat将字符串解析为浮点数,可以指定精度(32 位或 64 位)

FormatFloat将浮点数格式化为字符串,可以指定格式和精度

布尔值转换

ParseBool将字符串解析为布尔值

FormatBool将布尔值格式化为字符串

整数转换示例

package main

import (
"fmt"
"strconv"
)

func main() {
// 字符串转整数
s := "1024"
num, err := strconv.Atoi(s)
if err != nil {
fmt.Println("转换错误:", err)
} else {
fmt.Println("转换结果:", num)
}

// 整数转字符串
numStr := strconv.Itoa(num)
fmt.Println("整数转字符串:", numStr)

// 使用 ParseInt 解析十六进制字符串
hexNum, _ := strconv.ParseInt("1f4", 16, 32)
fmt.Println("十六进制 '1f4' 转为十进制:", hexNum)

// 使用 FormatInt 将数字转换为二进制表示的字符串
binStr := strconv.FormatInt(int64(hexNum), 2)
fmt.Println("数字转二进制字符串:", binStr)
}

浮点数转换示例

package main

import (
"fmt"
"strconv"
)

func main() {
// 字符串转浮点数
floatStr := "3.14159"
f, err := strconv.ParseFloat(floatStr, 64)
if err != nil {
fmt.Println("转换错误:", err)
} else {
fmt.Println("转换结果:", f)
}

// 浮点数转字符串
formattedFloat := strconv.FormatFloat(f, 'f', 3, 64)
fmt.Println("浮点数格式化:", formattedFloat)
}

布尔值转换示例

package main

import (
"fmt"
"strconv"
)

func main() {
// 字符串转布尔值
boolStr := "true"
b, err := strconv.ParseBool(boolStr)
if err != nil {
fmt.Println("转换错误:", err)
} else {
fmt.Println("转换结果:", b)
}

// 布尔值转字符串
bStr := strconv.FormatBool(b)
fmt.Println("布尔值转字符串:", bStr)
}