课程名称: 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() 函数获取字符串长度,获取字符串长度的注意事项