答案:strconv包提供高效安全的字符串与基本类型转换。常用Atoi/Itoa、ParseFloat/FormatFloat、ParseBool/FormatBool处理整数、浮点数、布尔值转换,需注意检查Parse系列返回的error,建议预处理空格。

在Go语言中,strconv 包是处理基本数据类型与字符串之间转换的核心工具。它比类型断言或 fmt.Sprintf 更高效、更安全,特别适合将字符串转为数值类型或反过来。下面介绍常用方法和使用场景。
字符串与整数之间的转换
将字符串转为整数使用 strconv.Atoi,这是最常见的方式。
strconv.Atoi 是 strconv.ParseInt(s, 10, 0) 的简写,适用于十进制整数解析。
示例:
str := "123"num, err := strconv.Atoi(str)if err != nil { log.Fatal("转换失败:", err)}// num 现在是 int 类型的 123
如果要控制进制或位大小,使用 strconv.ParseInt:
立即学习“go语言免费学习笔记(深入)”;
第二个参数是进制(2-36),设为 10 表示十进制 第三个参数是目标类型的位宽(0、8、16、32、64)
num, _ := strconv.ParseInt("1000", 10, 64) // 返回 int64
整数转字符串用 strconv.Itoa,它是 strconv.FormatInt(int64(i), 10) 的便捷封装。
i := 456str := strconv.Itoa(i) // str 为 "456"
字符串与浮点数转换
将字符串转为浮点数使用 strconv.ParseFloat:
第二个参数表示精度(32 或 64),决定返回 float32 还是 float64
f, err := strconv.ParseFloat("3.1415", 64)if err != nil { log.Fatal(err)}// f 是 float64 类型
浮点数转字符串使用 strconv.FormatFloat,可指定格式和精度:
Zyro AI Background Remover
Zyro推出的AI图片背景移除工具
55 查看详情
f := 3.1415926str := strconv.FormatFloat(f, 'f', 2, 64) // 保留两位小数,输出 "3.14"
第二个参数是格式码:
‘f’ 表示普通小数,’e’ 科学计数法,’g’ 自动选择
布尔值转换
字符串转布尔值使用 strconv.ParseBool:
只接受 “true”、”false”(不区分大小写) 其他值会返回错误
b, err := strconv.ParseBool("True") // trueb2, err := strconv.ParseBool("1") // trueb3, err := strconv.ParseBool("0") // false
布尔转字符串用 strconv.FormatBool:
b := truestr := strconv.FormatBool(b) // 返回 "true"
注意事项和最佳实践
所有 Parse 系列函数都返回 (value, error),务必检查 error 避免程序崩溃。
Format 和 Itoa 系列函数不会出错,可直接使用。
当处理用户输入或外部数据时,建议先 trim 空格:
import "strings"str = strings.TrimSpace(str)num, err := strconv.Atoi(str)
基本上就这些。掌握 Atoi / Itoa、ParseFloat / FormatFloat、ParseBool / FormatBool 这几组函数,就能应对大多数字符串与基本类型的转换需求。安全、高效、清晰。
以上就是Golang如何使用strconv进行类型转换的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1123192.html
微信扫一扫
支付宝扫一扫