byte就是字节的意思,一个字节就是8个二进制位。uint8,无符号整形,占8位,正好也是2的8次方。所以byte和 uint8 类型本质上没有区别,它表示的是 ACSII 表中的一个字符。

    1. // byte类型
    2. var b1 byte
    3. b1 = 'A' // 必须是单引号
    4. // b1 = 98 // 必须是单引号
    5. fmt.Println(reflect.TypeOf(b1)) // 65 uint8
    6. fmt.Printf("%c\n",b1)
    7. fmt.Printf("%d\n",b1) // ASCII数字
    8. fmt.Println(b1) // ASCII数字
    9. // uint8类型
    10. var b2 uint8
    11. b2 = 65
    12. // b2 = 'c'
    13. fmt.Printf("%c\n",b2)
    14. fmt.Printf("%d\n",b2)
    15. fmt.Println(b2) // ASCII数字
    16. // var b3 byte
    17. var b3 rune
    18. b3 = '高'
    19. // rune,占用4个字节,共32位比特位,所以它和 int32 本质上也没有区别。它表示的是一个 Unicode字符
    20. fmt.Println(b3,string(b3),reflect.TypeOf(b3)