Golang获取字符串长度

发布 : 2019-06-21 分类 : 笔记

1. builtin 中的 len 函数

builtin 包为Go的预声明标识符提供了文档。无需引包

1
2
3
4
length := len("hello world")
// 11
length = len("你好, world")
// 13

优点:无需引包,直接使用
缺点:中文占3个字节长度,非实际字符数

2. strings.Count 统计字符函数

strings 是字符串相关操作的内置库

1
2
3
4
length := strings.Count("hello world","") -1 
// 11
length = strings.Count("你好,世界","") - 1
// 5

优点:中文字符识别
缺点:参数冗余,且底层另有实现函数, 见3

3. unicode/utf8.RuneCountInString utf8字符统计

1
2
3
4
length := utf8.RuneCountInString("hello world")
// 11
length = utf8.RuneCountInString("你好,世界")
// 5

优点:官方utf8长度统计,无其他函数调用
缺点:貌似只有utf8字符集

本文作者 : 萧逸雨
原文链接 : http://qiubo.ink/2019/06/21/Golang获取字符串长度/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!