一、前言
在 Golang 中,不是所有数据类型之间都能相互转换的,例如字母格式的 string 类型 “abcd” 转换为 int 肯定会失败。要跨大类型转换,可以使用 strconv 包提供的函数。
strconv 包实现了字符串与数字(整数、浮点数等)之间的互相转换。
Go语言的 strconv 包提供了一个Atoi()函数,该函数等效于ParseInt(str string,base int,bitSize int)用于将字符串类型转换为int类型。要访问Atoi()函数,您需要在程序中导入 strconv 软件包。
二、strconv 包简介
strconv 包提供了字符串与简单数据类型之间的类型转换功能。可以将简单类型转换为字符串,也可以将字符串转换为其它简单类型。
这个包里提供了很多函数,大概分为几类:
- 字符串转int:Atoi()
- int转字符串:Itoa()
- ParseTP类函数将string转换为TP类型:ParseBool()、ParseFloat()、ParseInt()、ParseUint()。因为string转其它类型可能会失败,所以这些函数都有第二个返回值表示是否转换成功
- FormatTP类函数将其它类型转string:FormatBool()、FormatFloat()、FormatInt()、FormatUint()
- AppendTP类函数用于将TP转换成字符串后 append 到一个 slice 中:AppendBool()、AppendFloat()、AppendInt()、AppendUint()
三、string 转换为 int:Atoi()函数
func Atoi(s string) (int, error)
由于 string 可能无法转换为int,所以这个函数有两个返回值:
- 第一个返回值是转换成 int 的值
- 第二个返回值判断是否转换成功
// Atoi(): string -> int
i,_ := strconv.Atoi("3")
println(3 + i) // 6
// Atoi()转换失败
i,err := strconv.Atoi("a")
if err != nil {
println("converted failed")
}
参考链接
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/118924.html