strconv包用于Go中基本类型与字符串转换,提供Atoi、ParseInt实现字符串转整数,Itoa、FormatInt处理整数转字符串,ParseFloat和FormatFloat处理浮点数双向转换,ParseBool和FormatBool处理布尔值转换,均需注意错误处理与参数设置。

在Golang中,strconv 包是处理基本数据类型与字符串之间转换的核心工具。它提供了丰富且高效的方法,适用于 int、float、bool 等类型与 string 之间的相互转换。下面汇总常用的 strconv 使用方法,帮助你在实际开发中快速上手。
字符串转整数(string → int)
使用 strconv.Atoi 或 strconv.ParseInt 可将字符串解析为整数。
- strconv.Atoi(s):最简单的方式,返回 int 类型。
- strconv.ParseInt(s, base, bitSize):更灵活,支持指定进制和位宽(如 int64)。
示例:
num, err := strconv.Atoi("123")
if err != nil {
// 处理错误
}
// num == 123
// 解析十六进制
num64, _ := strconv.ParseInt("1a", 16, 64) // 结果为 26
整数转字符串(int → string)
使用 strconv.Itoa 或 strconv.FormatInt 将整数转为字符串。
立即学习“go语言免费学习笔记(深入)”;
- strconv.Itoa(i):推荐用于 int 类型转十进制字符串。
- strconv.FormatInt(i, base):支持任意进制输出,如二进制、十六进制。
示例:
str := strconv.Itoa(456) // str == "456" hexStr := strconv.FormatInt(255, 16) // 输出 "ff"
字符串转浮点数(string → float)
使用 strconv.ParseFloat 将字符串转为 float64 或 float32。
- 参数 bitSize 指定精度:32 表示 float32,64 表示 float64。
示例:
f, err := strconv.ParseFloat("3.1415", 64)
if err != nil {
// 解析失败,比如格式错误
}
// f == 3.1415
浮点数转字符串(float → string)
使用 strconv.FormatFloat 控制浮点数的字符串表示。
- func FormatFloat(f float64, fmt byte, prec, bitSize int)
- 常用格式:'f'(定点)、'e'(科学计数)、'g'(自动选择)
示例:
str := strconv.FormatFloat(3.1415926, 'f', 2, 64) // str == "3.14" scientific := strconv.FormatFloat(1234.0, 'e', 2, 64) // scientific == "1.23e+03"
字符串转布尔值(string → bool)
使用 strconv.ParseBool 解析字符串为布尔类型。
- 只接受 "true"、"false"(不区分大小写)。
- 其他值会返回 error。
示例:
b, err := strconv.ParseBool("True")
// b == true
b2, _ := strconv.ParseBool("1") // 也可以解析 "1" 和 "0"
// b2 == true
布尔值转字符串(bool → string)
使用 strconv.FormatBool 转换布尔值为字符串。
示例:
str := strconv.FormatBool(true) // str == "true"
基本上就这些。掌握 strconv 的核心函数,能让你在处理 JSON、配置解析、命令行参数等场景中游刃有余。注意每次解析都应检查 error,避免程序因非法输入崩溃。不复杂但容易忽略细节,写好类型转换是稳健 Go 程序的基础。










