go–string转换为基本类型
-
使用 strconv包的函数
package main import ( "fmt" "strconv" ) func main() { var str string = "true" var b bool // 这里的 b, _ = strconv.ParseBool(str) // 1. 表示 strconv.ParseBool(str) 函数会返回两个值(value bool, err error) // 2. 因为只想获取道value bool, 不想获取err所以可以使用 _ 进行忽略处理 b, _ = strconv.ParseBool(str) fmt.Printf("b type %T b=%v\n", b, b) var str2 string = "1234657" var n1 int64 // 下面的 n2 是用来处理 int64 转换为int类型 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) // 以下是 string类型转换为 float类型 var str3 string = "123.345" var f1 float64 f1, _ = strconv.ParseFloat(str3, 64) fmt.Printf("f1 type %T f1=%v\n", f1, f1) }
注意:
在将string类型转换为基本数据类型时, 要确保 string 类型能够转换为有效的数据,比如将“123”,转为一个整数,但是不能把”hello“转为一个整数,如果这样做,go会直接将其转为0值
package main
import (
"fmt"
"strconv"
)
func main() {
var str4 string = "hello"
var n3 int64
n3, _ = strconv.ParseInt(str4, 10, 64)
fmt.Printf("n3 type %T n3=%v\n", n3, n3)
}