使用API:strconv
Go语言标准库文档中文版 | Go语言中文网 | Golang中文社区 | Golang中国
package main
import (
"fmt"
"strconv"
)
func main() {
//string ----> bool
var s1 string = "true"
var b bool
//返回值有两个(value bool, err error)
//value就是我们得到的布尔类型的数据,err出现的错误
//我们只关注得到的值,err可以用_直接忽略
b, _ = strconv.ParseBool(s1)
fmt.Printf("b对应的类型是:%T,b = %v \n", b, b)
//string ----> int64
var s2 string = "19"
var num1 int64
// 将s2以十进制的形式转为int64
num1, _ = strconv.ParseInt(s2, 10, 64)
fmt.Printf("num1对应的类型是:%T,num1 = %v \n", num1, num1)
//string ----> float32/float64
var s3 string = "3.14"
var f1 float64
f1, _ = strconv.ParseFloat(s3, 64)
fmt.Printf("f1对应的类型是:%T,f1 = %v \n", f1, f1)
//注意:string向基本数据类型转换的时候,一定要确保string类型能够转成有效的数据类型,否则最后得到的结果就是按照对应类型的默认值输出
var s4 string = "golang"
var b1 bool
b1, _ = strconv.ParseBool(s4)
fmt.Printf("b1对应的类型是:%T,b1 = %v \n", b1, b1) //false
var s5 string = "golang"
var num2 int64
num2, _ = strconv.ParseInt(s5, 10, 64)
fmt.Printf("num2对应的类型是:%T,num2 = %v \n", num2, num2) //0
}