什么是rune
2018-11-13 本文已影响0人
bocsoft
package main
import (
"bytes"
"fmt"
)
func main() {
nameInBytes := bytes.NewBufferString("liäあ李♥")
fmt.Println(nameInBytes.Bytes()) //[108 105 195 164 227 129 130 230 157 142 226 153 165]
fmt.Println(bytes.Runes(nameInBytes.Bytes())) //[108 105 228 12354 26446 9829]
for {
r, size, err := nameInBytes.ReadRune()
if err != nil {
fmt.Println(err)
break
}
fmt.Println(string(r), r, ",size:", size)
}
fmt.Printf("~m~%d~m~~j~%s\n", 10, "liäあ李♥")
fmt.Println("len of liäあ李♥ is", len("liäあ李♥"))
/*
输出结果如下:
[108 105 195 164 227 129 130 230 157 142 226 153 165]
[108 105 228 12354 26446 9829]
l 108 ,size: 1
i 105 ,size: 1
ä 228 ,size: 2
あ 12354 ,size: 3
李 26446 ,size: 3
♥ 9829 ,size: 3
EOF
~m~10~m~~j~liäあ李♥
len of liäあ李♥ is 13
*/
}