byte就是字节的意思,一个字节就是8个二进制位。uint8,无符号整形,占8位,正好也是2的8次方。所以byte和 uint8 类型本质上没有区别,它表示的是 ACSII 表中的一个字符。
// byte类型var b1 byteb1 = 'A' // 必须是单引号// b1 = 98 // 必须是单引号fmt.Println(reflect.TypeOf(b1)) // 65 uint8fmt.Printf("%c\n",b1)fmt.Printf("%d\n",b1) // ASCII数字fmt.Println(b1) // ASCII数字// uint8类型var b2 uint8b2 = 65// b2 = 'c'fmt.Printf("%c\n",b2)fmt.Printf("%d\n",b2)fmt.Println(b2) // ASCII数字// var b3 bytevar b3 runeb3 = '高'// rune,占用4个字节,共32位比特位,所以它和 int32 本质上也没有区别。它表示的是一个 Unicode字符fmt.Println(b3,string(b3),reflect.TypeOf(b3)
