golang中byte和rune
byte
- byte alias for uint8
- 1byte = 8bit
- 强调数据是raw data
rune
- rune alias for int32
- int32 = 4byte
- 表示Unicode的code point
uint8 the set of all unsigned 8-bit integers (0 to 255)
int32 the set of all signed 32-bit integers (-2147483648 to 2147483647)
下面开始测试
package main
import "fmt"
func main() {
var s = "hello world"
fmt.Println(s)
byteArr := []byte(s)
runeArr := []rune(s)
fmt.Println("byteArr数组的类型:%T,runeArr数组的类型:%T", byteArr, runeArr)
for i, v := range byteArr {
fmt.Println(i,v,string(v))
}
fmt.Println("--------------")
for i,v := range runeArr {
fmt.Println(i,v,string(v))
}
}
hello world
byteArr数组的类型:[]uint8,runeArr数组的类型:[]int32
0 104 h
1 101 e
2 108 l
3 108 l
4 111 o
5 32
6 119 w
7 111 o
8 114 r
9 108 l
10 100 d
--------------
0 104 h
1 101 e
2 108 l
3 108 l
4 111 o
5 32
6 119 w
7 111 o
8 114 r
9 108 l
10 100 d