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)。
示例:
Seede AI
AI 驱动的设计工具
586 查看详情
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 == trueb2, _ := strconv.ParseBool("1") // 也可以解析 "1" 和 "0"// b2 == true
布尔值转字符串(bool → string)
使用 strconv.FormatBool 转换布尔值为字符串。
示例:
str := strconv.FormatBool(true)// str == "true"
基本上就这些。掌握 strconv 的核心函数,能让你在处理 JSON、配置解析、命令行参数等场景中游刃有余。注意每次解析都应检查 error,避免程序因非法输入崩溃。不复杂但容易忽略细节,写好类型转换是稳健 Go 程序的基础。
以上就是如何在Golang中使用strconv进行类型转换_Golang strconv类型转换方法汇总的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1067690.html
微信扫一扫
支付宝扫一扫