值得一看
广告
彩虹云商城
广告

热门广告位

Golang如何实现字符串与数字互转_Golang字符串数字转换操作方法汇总

字符串与数字转换可用strconv包实现,如Atoi、Itoa、ParseInt、FormatInt等函数,需注意错误处理和类型范围。

golang如何实现字符串与数字互转_golang字符串数字转换操作方法汇总

在Golang开发中,字符串与数字之间的转换是常见操作。Go语言标准库strconv包提供了安全、高效的转换函数。下面汇总常用方法,帮助你在实际项目中快速处理类型转换。

1. 字符串转整数

使用strconv.Atoi()strconv.ParseInt()可以将字符串转为整数类型。

strconv.Atoi() 是最简单的方式,适用于十进制整数:

“`go
str := “123”
num, err := strconv.Atoi(str)
if err != nil {
  log.Fatal(“转换失败:”, err)
}
fmt.Printf(“结果: %d, 类型: %T\n”, num, num)
“`

立即学习“go语言免费学习笔记(深入)”;

输出:
结果: 123, 类型: int

strconv.ParseInt() 更灵活,支持指定进制和位宽:

“`go
str := “1111”
num, err := strconv.ParseInt(str, 2, 64) // 二进制转int64
if err != nil {
  log.Fatal(err)
}
fmt.Println(num) // 输出: 15
“`

2. 整数转字符串

推荐使用strconv.Itoa()strconv.FormatInt()

strconv.Itoa() 简洁明了:

“`go
num := 456
str := strconv.Itoa(num)
fmt.Printf(“结果: %s, 类型: %T\n”, str, str) // 结果: 456, 类型: string
“`

strconv.FormatInt() 支持不同进制输出:

“`go
num := int64(255)
hexStr := strconv.FormatInt(num, 16) // 转十六进制
fmt.Println(hexStr) // 输出: ff
“`

怪兽AI数字人

怪兽AI数字人

数字人短视频创作,数字人直播,实时驱动数字人

怪兽AI数字人
44

查看详情
怪兽AI数字人

3. 字符串与浮点数互转

使用strconv.ParseFloat()strconv.FormatFloat()处理浮点类型。

字符串转浮点数:

“`go
str := “3.14159”
f, err := strconv.ParseFloat(str, 64)
if err != nil {
  log.Fatal(err)
}
fmt.Printf(“%.4f\n”, f) // 输出: 3.1416
“`

浮点数转字符串:

“`go
f := 2.71828
str := strconv.FormatFloat(f, ‘f’, 3, 64) // 保留3位小数
fmt.Println(str) // 输出: 2.718
“`

FormatFloat参数说明:
– ‘f’: 普通小数格式
– 3: 小数位数
– 64: float64类型

4. 注意事项与建议

转换时务必检查返回的error,避免程序崩溃。

常见错误场景包括:

  • 空字符串或非法字符(如”abc”转数字)
  • 超出目标类型范围的数值
  • 浮点数精度丢失问题

如果需要频繁转换,可封装通用函数提升代码可读性:

“`go
func ToInt(s string) int {
  v, _ := strconv.Atoi(s)
  return v
}
“`

基本上就这些。掌握strconv包的核心函数,就能应对大多数字符串与数字转换需求。实际开发中优先使用Atoi/Itoa等简写函数,复杂场景再用Parse/Format系列。不复杂但容易忽略的是错误处理,别忘了加err判断。

相关标签:

go golang go语言 代码可读性 golang开发 标准库 golang String if 封装 format Error printf 字符串 int 整数类型 Go语言 nil 类型转换

大家都在看:

Go语言中实现泛型加法:深入理解反射与类型断言
Go语言中的结构体初始化、命名参数与工厂函数模式
Go语言中接口类型与nil的陷阱:理解指针为nil但接口不为nil的场景
深入理解Go语言中的工厂函数与结构体初始化
Go语言中实现通用加法函数:从反射到泛型
温馨提示: 本文最后更新于2025-11-03 22:30:25,某些文章具有时效性,若有错误或已失效,请在下方留言或联系在线客服
文章版权声明 1 本网站名称: 创客网
2 本站永久网址:https://new.ie310.com
1 本文采用非商业性使用-相同方式共享 4.0 国际许可协议[CC BY-NC-SA]进行授权
2 本站所有内容仅供参考,分享出来是为了可以给大家提供新的思路。
3 互联网转载资源会有一些其他联系方式,请大家不要盲目相信,被骗本站概不负责!
4 本网站只做项目揭秘,无法一对一教学指导,每篇文章内都含项目全套的教程讲解,请仔细阅读。
5 本站分享的所有平台仅供展示,本站不对平台真实性负责,站长建议大家自己根据项目关键词自己选择平台。
6 因为文章发布时间和您阅读文章时间存在时间差,所以有些项目红利期可能已经过了,能不能赚钱需要自己判断。
7 本网站仅做资源分享,不做任何收益保障,创业公司上收费几百上千的项目我免费分享出来的,希望大家可以认真学习。
8 本站所有资料均来自互联网公开分享,并不代表本站立场,如不慎侵犯到您的版权利益,请联系79283999@qq.com删除。

本站资料仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
THE END
喜欢就支持一下吧
点赞8赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容