在Go语言中,可以使用 len() 函数获取字符串的字节长度,其中英文占1个字节长度,中文占用3个字节长度。可以使用“变量名[n]”获取到字符串第n+1个字节,返回这个字节对应的Unicode码值(uint8类型)。注意n的取值范围是[0,len(n)-1]。

在Go中可以通过切片截取一个数组或字符串,但是当截取的字符串是中文时,可能会出现的问题是:由于中文一个字不只是由一个字节组成,所以直接通过切片获取时可能会把一个中文字的编码截成两半,结果导致最后一个字符是乱码。解决办法可以先将其转为[]rune类型,再截取后,转回字符串类型。示例如下:

代码chapter1/string/1.2.2-str5.go

------------------end------------------

PS:想学Go语言的朋友,推荐几本Go语言畅销书:

1.《Go Web编程实战派从入门到精通》

推荐一本Go语言畅销书《Go Web编程实战派从入门到精通》,欢迎喜欢Go语言的朋友购买,该书源代码是免费开源的。地址如下:

零基础入门,适合初学者,特别是第9章Go语言电商系统实战,包括微信支付宝支付,很详细,还配送电商系统全套代码,链接如下:

2.《Go语言高级开发与实战》

对于希望提升Go语言的高级技能的朋友,推荐《Go语言高级开发与实战》,这本书的代码也是开源的,地址如下:

打折活动中...图书购买链接如下:

欢迎喜欢的朋友们购买学习~