Daily Study
更新: 10/9/2025 字数: 0 字 时长: 0 分钟
Daily Plan
#todo
- [ ]
设计模式
Go中的 Rune 和 Byte
Byte
- 主要用在处理原始数据流
(io.Reader \ io.Writer)、网络通信、二进制 - 大小恒定为1个字节,是unit8的别名,通常用来表示ASCII字符
Rune
- 在使用
for range遍历string时,每次迭代返回的是一个rune - 处理包括中文、日文和表情的多节字符串时,可以处理每一个字符。例如如下代码
go
s := "你好 Go"
// 错误的方式:使用字节长度
fmt.Println("字节长度:", len(s)) // 9
// 正确的方式:转换为 []rune
runes := []rune(s)
fmt.Println("字符数量:", len(runes)) // 5 (你, 好, , G, o)