uint8 unsigned 8-bit integers (0 to 255)
type byte = uint8
type rune = int32
b := []byte{'h', 104, 101} //注意单引号
u8 := []uint8{'h', 104, 101}
fmt.Printf("%T %T\n", b, u8) //[]uint8 []uint8
fmt.Println(string(b), string(u8)) // hhe hhe
str2 := "hello中国"
data2 := []byte(str2) //类型转换
fmt.Println(data2) //[104 101 108 108 111 228 184 173 229 155 189]
str2 = string(data2)
fmt.Println(str2) //hello中国
//int8取值范围为:-128~127
var r byte
var v int8
v = -70
r = byte(v) //等价于:v<0 256+v;v>0 v
fmt.Println("int8->byte: ", r)
//类似的如下
var int32_1 int32 = -1
fmt.Printf("%d,%.f", uint32(int32_1), math.Exp2(32)) //4294967295,4294967296
// rune 与 byte
rs := []rune{'H', 'e', 'l', 'l', 'o', ' ', '世', '界'}
bs := []byte(string(rs))
fmt.Printf("%s", bs)
fmt.Println(string(bs))
rs=[]rune("Hello 世界")
bs=[]byte(string(rs))
fmt.Printf("%s", bs)
fmt.Println(string(bs))
// uint8 与 byte
intBs:=[]uint8(bs)
fmt.Println(intBs,string(intBs))
本文详细介绍了Go语言中字节(byte)与字符(rune)的使用,包括uint8和int32类型的定义,字符串的编码转换,以及不同类型间的相互转换过程。通过实例展示了如何将字符串转换为字节数组,再从字节数组还原为字符串,同时讨论了int8、int32和rune类型的取值范围及应用。
1514

被折叠的 条评论
为什么被折叠?



