一 使用 strconv 包的函数
二 string 转基本数据类型的注意事项
在将 String 类型转成 基本数据类型时, 要确保 String 类型能够转成有效的数据,比如我们可以把 "123" , 转成一个整数,但是不能把 "hello" 转成一个整数,如果这样做,Golang 直接将其转成 0。
其它类型也是一样的道理。
float 会转为 0
bool 会转为 false
三 实战
package main
import (
"fmt"
"strconv"
)
// 演示 golang 中 string 转成基本数据类型
func main() {
var str string = "true"
var b bool
// strconv.ParseBool(str) 函数会返回两个值 (value bool, err error)
// 因为只想获取到 value bool ,不想获取 err 所以使用 _ 忽略
b , _ = strconv.ParseBool(str)
fmt.Printf("b type %T b=%v\n", b, b)
var str2 string = "1234590"
var n1 int64
var n2 int
n1, _ = strconv.ParseInt(str2, 10, 64)
n2 = int(n1)
fmt.Printf("n1 type %T n1=%v\n", n1, n1)
fmt.Printf("n2 type %T n2=%v\n", n2, n2)
var str3 string = "123.456"
var f1 float64
f1, _ = strconv.ParseFloat(str3, 64)
fmt.Printf("f1 type %T f1=%v\n", f1, f1)
// 注意
var str4 string = "hello"
var n3 int64 = 11
n3, _ = strconv.ParseInt(str4, 10, 64)
fmt.Printf("n3 type %T n3=%v\n", n3, n3)
}
四 测试
b type bool b=true
n1 type int64 n1=1234590
n2 type int n2=1234590
f1 type float64 f1=123.456
n3 type int64 n3=0