答案是掌握strconv包可高效实现字符串与数字互转:使用Atoi和ParseInt进行字符串转整数,Itoa和FormatInt实现整数转字符串,ParseFloat和FormatFloat处理浮点数,注意检查错误并优先使用strconv而非fmt.Sprintf以提升性能。

在Go语言中,strconv 包是处理字符串与基本数据类型之间转换的核心工具。最常用的功能之一就是字符串与数字之间的相互转换。下面介绍几种常见的转换方式,帮助你在实际开发中正确使用。
字符串转整数
使用 strconv.Atoi 或 strconv.ParseInt 可以将字符串转换为整数。
• strconv.Atoi 是最简单的方式,返回 int 类型:num, err := strconv.Atoi("123")
if err != nil {
fmt.Println("转换失败")
}
fmt.Printf("%T, %d\n", num, num) // int, 123
• strconv.ParseInt 更灵活,可指定进制和目标类型位宽:
num, err := strconv.ParseInt("123", 10, 64) // 10进制,转为int64
if err != nil {
fmt.Println("解析错误")
}
fmt.Printf("%T, %d\n", num, num) // int64, 123
整数转字符串
将整数转为字符串,推荐使用 strconv.Itoa 或 strconv.FormatInt。
• strconv.Itoa 是最常用的快捷方式:str := strconv.Itoa(456)• strconv.FormatInt 支持指定进制,适用于 int64:
fmt.Printf("%T, %s\n", str, str) // string, 456
str := strconv.FormatInt(456, 10) // 10进制
fmt.Printf("%s\n", str)
字符串与浮点数互转
处理浮点数使用 strconv.ParseFloat 和 strconv.FormatFloat。
Perl学习手札是台湾perl高手写的一篇文章,特打包为chm版,方便大家阅读。 关于本书 1. 关于Perl 1.1 Perl的历史 1.2 Perl的概念 1.3 特色 1.4 使用Perl的环境 1.5 开始使用 Perl 1.6 你的第一个Perl程序 2. 标量变量(Scalar) 2.1 关于标量 2.1.1 数值 2.1.2 字符串 2.1.3 数字与字符串转换 2.2 使用你自己的变量 2.3 赋值 2.3.1 直接设定 2.3.2 还可以这样 2.4 运算 2.5 变量的输出/输入 2.
立即学习“go语言免费学习笔记(深入)”;
• 字符串转 float64:f, err := strconv.ParseFloat("3.14", 64)
if err != nil {
fmt.Println("解析失败")
}
fmt.Printf("%T, %f\n", f, f)
• float64 转字符串:
str := strconv.FormatFloat(3.14, 'f', 2, 64)
// 'f': 格式,2: 小数位数,64: float64
fmt.Printf("%s\n", str) // 3.14
注意:FormatFloat 支持多种格式,如 'e'(科学计数法)、'g'(自动选择)等。
常见注意事项
• 转换失败时,Parse 系列函数会返回 error,务必检查。
• Atoi 本质是 ParseInt(s, 10, 0) 的封装,适用于一般场景。
• Format 和 Parse 系列更灵活,适合需要控制进制或精度的场景。
• 避免使用 fmt.Sprintf("%d", num) 做转换,性能不如 strconv。
基本上就这些。掌握 strconv 的常用函数,能让你在处理字符串和数字转换时更高效、安全。









