基本数据类型
- 布尔类型
- 整型
- 浮点型
- 复数类型
- 字符串
- 字符类型
整型之间的转换
注意: 在有符号与无符号以及高位数向低位数转换时, 需要注意数字的溢出的截断
package main
import (
"fmt"
)
func main() {
v1 := uint(18)
v2 := int8(v1)
v3 := uint(v2)
//v4 := uint(-1) 抛出异常: constant -1 overflows uint
v5 := uint(255)
v6 := int8(v5) // 由于int8表示范围是-128-127之间的数字, 255超出范围, 这是会截取后8位, 所以结果为-1
fmt.Println(v1, v2, v3, v5, v6)
}
整型与浮点型之间的转化
浮点型转为整型时, 小数位被丢弃
v1 := 88.88
v2 := int(v1) // v2 = 88
整型转为浮点型时, 直接转换
v1 := 88
v2 := float64(v1) // v2 = 88
字符串与其他基本类型的转换
整型数据可通过Unicode字符集转化为对应的UTF-8编码字符串
v1 := 65
v2 := string(v1) // A
byte数组或者rune数组可以转换为字符串, 因为字符串底层就是通过这两个基本字符类型实现的
byte是uint8的别名, rune是int32的别名
v1 := []byte{"h", "e", "l", "l", "o"}
v2 := string(v1) // hello
v3 := []rune{104, 101, 108, 108, 111}
v4 := string(v3) // hello