您的位置:首页 > 编程语言 > Go语言

Go语言基础(十二)字符和字符串处理

2018-12-05 11:37 381 查看

rune相当于go的char

[code]func main() {
s := "Good我想要吃饭!"
fmt.Println(len(s))
}

运行结果如下:

s的长度是20,这个20是怎么出来的?

[code]func main() {
s := "Good我想要吃饭!"
fmt.Println(len(s))

for _,b := range []byte(s){
fmt.Printf("%X ",b)
}
fmt.Println()
}

运行结果如下:

"Good我想要吃饭!"中的Good以及最后的!是ASCII,中文每个汉字对应3个字节,这就是utf-8编码
[code]func main() {
s := "Good我想要吃饭!"
fmt.Println(len(s))

for _,b := range []byte(s){
fmt.Printf("%X ",b)
}
fmt.Println()

for i,ch := range s{	// ch is a rune(int32)
fmt.Printf("(%d %X) ",i,ch)
}
fmt.Println()
}

运行结果如下:

i是从第几个字节开始的,ch就是一个rune类型,将utf-8转换成了Unicode

 

 

 

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: