首先说一下go中的字符串类型: 字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。Go语言的字符串的字节使用UTF-8编码标识Unicode文本。
Go语言的字符串的字节使用UTF-8编码标识Unicode文本,这样Golang统一使用UTF-8编码,中文乱码问题不会再困扰程序员。 字符串一旦赋值了,字符串就不能修改了:在Go中字符串是不可变的。
func listSlice(){
// utf-8编码
var str = "abc遍历"
for i := 0; i < len(str); i++{
fmt.Println(str[i])
}
}
func listRange(){
// unicode编码
var str = "abc遍历"
for _,e := range str{
fmt.Println(e)
fmt.Println(fmt.Sprintf("%c",e))
}
}
func listRune(){
// unicode编码
var str = "abc遍历"
var bs = []byte(str)
fmt.Println(bs)
var runes = []rune(str)
for _,e := range runes{
fmt.Println(e)
fmt.Println(fmt.Sprintf("%c",e))
}
}
输出:
listSlice
97
98
99
233
129
141
229
142
134
listRange
97
a
98
b
99
c
36941
遍
21382
历
listRune
[97 98 99 233 129 141 229 142 134]
97
a
98
b
99
c
36941
遍
21382
历