go数据类型转换

数值间转换

1
2
3
4
var a int = 1
var b int32 = 2
var c int64 = 3
fmt.Println(a+b)

报错:
invalid operation: a + b (mismatched types int and int32)

正确用法

1
2
3
4
5
6
7
8
9
var a int = 1
var b int32 = 2
var c int64 = 3
var d float64 = 4.0
fmt.Println(a+b)
fmt.Println(a+int(b))
fmt.Println(int64(b)+c) //向范围更大的类型转换,否则可能数据溢出
fmt.Println(float64(a)+d)

数据溢出: 超过类型的bit将会被丢弃,剩下的可能是负值

字符串与其他类型

strconv
其他类型转向字符串时方法前缀是Format,从字符串转为其他类型则方法前缀是Parse

strconv.Atoi 字符串转整数
strconv.Itoa 整数转字符串
strconv.ParseBool 字符串转布尔
strconv.FormatBool 布尔转字符串
strconv.ParseFloat 字符串转浮点数
strconv.FormatFloat 浮点数转字符串\