你知道Go语言的Rune吗?

网站建设4年前发布
33 0 0

rune它是int32的别名(-2147483648~2147483647),相比于byte(-128~127),可表示的字符更多。,由于rune可表示的范围更大,所以能处理一切字符,当然也包括中文字符。在平时计算中文字符,可用rune。,当我们数据中有中文时,一定要注意rune的处理。,len()获得的是 byte 字节的数量,一个中文占用3个字节,输出结果是:8 5 3,输出结果:,20230306140341b398dad0066c9073fc683079c08a50a2ebbbef247,我们发现英文可以正常输出,但是中文通过这种方式输出会乱码,我们可以通过for range循环,从字符串中拿出具体的字符,输出结果:,20230306140228592f0c8767a526557d8513edddd565d13129bc202,字符串修改是不能直接修改的,需要转成rune切片后再修改,输出结果:大白兔,输出结果:,总结:我们发现只要是双引号包裹的类型就是string,只要是单引号包裹的类型就是int32,也就是rune。和中英文无关。,知识点:rune的别名是int32,输出结果:,字符串的修改要转成rune切片,而不能像PHP一样直接修改。,本文转载自微信公众号「 程序员升级打怪之旅」,作者「王中阳Go」,可以通过以下二维码关注。转载本文请联系程序员升级打怪之旅公众号。,20230306140228d71f32e79ff1cc23902223850a429d31bb7725813

© 版权声明

相关文章