手记

【金秋打卡】第20天 Go开发工程师全新版 5-1

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

0人推荐
随时随地看视频
慕课网APP