首页 >后端开发 >Golang >简析golang中rune类型

简析golang中rune类型

藏色散人
藏色散人转载
2021-12-01 14:28:006679浏览

本文由go语言教程栏目给大家介绍关于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)))
 
 -5 
 unicode.Is(unicode.Han, c) //可以判断字符是否是汉语

结果

-1 
len(address): 16

-2
len(address): 15

-3
len(address): 5

-4
len(address): 5

以上是简析golang中rune类型的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:segmentfault.com。如有侵权,请联系admin@php.cn删除