字符字符串

📅 2026/7/7 10:33:16
字符字符串
一、字符串基础1. 字符串变量声明语法var 变量名 string赋值要求字符串内容必须使用 双引号包裹示例go运行var str1 string str1 abc fmt.Println(str1 , str1)2. len () 内置函数作用统计字符串字节长度统计字符串占用字节数量使用方式len(字符串变量)3. Go 字符串与 C 语言字符串核心区别C 语言字符串尾部会自动隐藏\0作为结束标记Go 语言字符串底层存储自带长度属性不存在\0结束符。4. 通过下标获取字符串单个字符字符串下标从 0 开始计数取值语法字符串[下标]可提取指定位置字节格式化输出字符专用占位符%c示例go运行str : hello go fmt.Printf(str[0] %c, str[1] %c\n, str[0], str[1]) // 输出str[0] h, str[1] e二、字符与字符串区分字符存储单个符号使用 单引号包裹分为 byte、rune 两种类型例var ch byte; ch a字符串存储任意数量文字使用 ** 双引号** 包裹类型为 string例var str string; str a三、两种字符类型byte、rune1. byte底层本质uint8类型别名适用范围ASCII 字符英文、数字、基础符号内存占用1 字节go运行var a byte a // 英文字符使用byte2. rune底层本质int32类型别名适用范围Unicode 字符中文、日韩文字、emoji 表情等内存占用4 字节go运行var b rune 中 // 中文等宽字符使用rune四、字符串遍历与长度统计区分ASCII 英文获取字符字符串[下标]返回 byte 类型Unicode 中文获取字符使用for range循环遍历返回 rune 类型长度统计区分len(str)统计字符串字节总数utf8.RuneCountInString(str)统计字符串实际文字个数