Go语言中的strconv包提供了一系列字符串转换函数,可以方便地将字符串转换为不同类型的数据,如整型、浮点型、布尔型等。
strconv包提供了一系列字符串转换函数,其中一些常用的函数如下:
Atoi函数将字符串转换为int类型,如果转换失败,则返回0和错误信息。ParseInt函数将字符串转换为int64类型,并允许指定转换的进制和位数。如果转换失败,则返回0和错误信息。
package main
import (
"fmt"
"strconv"
)
func main() {
str := "123"
i, err := strconv.Atoi(str)
if err != nil {
fmt.Println("conversion failed")
} else {
fmt.Printf("i is %d\n", i)
}
str = "1000000000000000000000000000000000000000000000000000000000000000000000000000000"
i64, err := strconv.ParseInt(str, 10, 64)
if err != nil {
fmt.Println("conversion failed")
} else {
fmt.Printf("i64 is %d\n", i64)
}
}
输出结果:
i is 123
conversion failed
ParseFloat函数将字符串转换为float64类型,并允许指定转换的位数和精度。如果转换失败,则返回0和错误信息。
package main
import (
"fmt"
"strconv"
)
func main() {
str := "3.14"
f, err := strconv.ParseFloat(str, 64)
if err != nil {
fmt.Println("conversion failed")
} else {
fmt.Printf("f is %f\n", f)
}
}
输出结果:
f is 3.140000
ParseBool函数将字符串转换为bool类型,只有字符串"true"或"false"可以被转换为布尔型,其他字符串都会转换失败。如果转换失败,则返回false和错误信息。
package main
import (
"fmt"
"strconv"
)
func main() {
str := "true"
b, err := strconv.ParseBool(str)
if err != nil {
fmt.Println("conversion failed")
} else {
fmt.Printf("b is %t\n", b)
}
}
输出结果:
b is true
Itoa函数将int类型的数据转换为字符串,FormatInt函数将int64类型的数据转换为字符串,并允许指定转换的进制和位数。
package main
import (
"fmt"
"strconv"
)
func main() {
i := 123
str := strconv.Itoa(i)
fmt.Printf("str is %s\n", str)
i64 := int64(123)
str = strconv.FormatInt(i64, 10)
fmt.Printf("str is %s\n", str)
}
输出结果:
str is 123
str is 123
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。