目录
1. 官方包
是的,strings.ToLower 是 Go 语言标准库 strings 包中的函数,属于官方提供的核心功能
2. 支持版本
- 引入版本:Go 1.0
- 当前支持:所有 Go 1.x 版本均兼容
3. 官方说明
func ToLower
func ToLower(s string) string
英文说明:
ToLower returns s with all Unicode letters mapped to their lower case.
中文翻译:
ToLower返回s,所有Unicode字母都映射到它们的小写。
4. 作用
将字符串 s 中的所有 Unicode 字母转换为小写形式,返回新字符串
特点:
- 支持多语言字符(如德语
Ä→ä,土耳其语 İ→i) - 非字母字符(如数字、符号)保持不变
- 线程安全(返回新字符串,原字符串不变)
5. 实现原理
- 快速路径
- 检查字符串是否已全为小写(避免不必要转换)
- 遍历转换
- 使用 utf8.DecodeRuneInString 逐个解码 rune
- 调用 unicode.ToLower 转换每个字符
- 内存分配
- 预分配足够容量的 []byte 缓冲区
- 批量写入转换后的 UTF-8 字节
6. 推荐使用场景和不推荐使用场景
推荐场景
- 用户输入标准化(如用户名 / 密码比对)
- 文件名大小写无关处理
- 国际化文本的模糊匹配
不推荐场景
- 需要语言特定规则(如土耳其语
i→ı) - 仅需处理 ASCII 字符(直接 bytes.ToLower)
- 超高频调用(考虑 bytes.ToLower + 池化)

2723

被折叠的 条评论
为什么被折叠?



