课程名称: Go开发工程师全新版
课程章节: 5-1 rune和字符串长度
课程讲师: bobby
课程内容:
这里提醒下,go语言中 函数的 花括号({}) 不能换行写
package main func main() { // 错误,不能换行写 } func main() { // 正确 }
len():go中内置函数
len() 用于获取元素长度,可以获取 字符串、数组、切片,…等类型的长度
获取英文字符串长度
package main func main() { // 获取英文字符串长度 name := "imooc" // len() 返回字符串的字节 fmt.Println(len(name)) // 5 // 可以把 字符串 转为切片类型,再求长度 // len() 函数支持传递切片类型 bytes := []byte(name) fmt.Println(len(name)) // 5 }
获取中英字符串长度
因为 len() 传入 返回字符串所占的字节 ,而中文转 utf8 编码后占 3 字节,英文占 1 字节。
而我们想得到字符长度,而不是字节长度,就需要转为 切片 后再计算长度
package main func main() { // 获取中英字符串长度 name := "imooc体系课学习" // 这里转 切片 用 rune 类型,因为 rune 类型包含字符较多 runes := []rune(name) fmt.Println(len(runes)) // 10 }
课程收获:
使用 len() 函数获取字符串长度,获取字符串长度的注意事项