Golang 中的字符串,有两种表示方法:
s1 := "hello, world"
s2 := `hello, world.
send using Golang`
charrune
UTF-8 实际是上一种变长编码,一个字符(一个中文字或其他语言的文字)可能以 1 个、2 个或 3 个字节来存储。作为对比,一个 ASCII 字符只需要一个字节,当然 ASCII 可以表示的字符就比较有限了。
[]byte[]runefor ... rangestring[]rune
s := "hello 世界"
for i, v := range s {
fmt.Printf("%v = %cn", i, v)
}
输出:
0 = h
1 = e
2 = l
3 = l
4 = o
5 =
6 = 世
9 = 界
len(s)s