关于google:golang-rune类型

golang中rune类型

    在golang中rune等同于int32,只是个别用于字符转换。golang中len()办法次要计算数组长度。golang中默认存储字符串是采纳utf8格局,utf8采纳变长字节存储,英文字母是单字节存储,中文是3个字节存储,所以-1和-2的执行后果是16和15。golang中有utf8.RuneCountInString和[]rune()两种形式将utf8转换成4个字节的int32存储,而后计算int32数组的长度。

 -1
 address := "this is shanghai"
 fmt.Println("len(address):",len(address))
 
 -2
 address := "this is shanghai"
 fmt.Println("len(address):",len(address))
 
 -3
 addressThree := "这是在上海"     
 fmt.Println("len(address):",utf8.RuneCountInString(addressThree))

 -4
 fmt.Println("len(address):",len([]rune(addressThree)))

后果

-1 
len(address): 16

-2
len(address): 15

-3
len(address): 5

-4
len(address): 5

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理