目录
1. 官方包
是的,strings.HasPrefix 是 Go 语言标准库 strings 包中的函数,属于官方提供的功能
2. 支持版本
strings.HasPrefix 自 Go 1.0 版本就已存在,所有 Go 版本(包括最新的 Go 1.24+) 均支持此函数
3. 官方说明
func HasPrefix
func HasPrefix(s, prefix string) bool
英文说明:
HasPrefix reports whether the string s begins with prefix.
中文翻译:
HasPrefix报告字符串s是否以prefix开头。
4. 作用
strings.HasPrefix 用于检查字符串 s 是否以指定的 prefix 开头。如果是,返回 true ;否则返回 false
5. 实现原理
其实现非常简单,直接比较字符串 s 的前 len(prefix) 个字节是否与 prefix 完全一致:
func HasPrefix(s, prefix string) bool {
return len(s) >= len(prefix) && s[0:len(prefix)] == prefix
}
- 先检查 s 的长度是否大于等于 prefix 的长度
- 再通过切片比较 s 的前缀部分是否与 prefix 相等
6. 推荐使用场景和不推荐使用场景
推荐使用场景
- 简单前缀匹配:如检查文件路径是否以 / 开头、URL 是否以 http:// 开头等
- 代码可读性优先:需要明确表达“检查前缀”意图时
- 短字符串或低频调用:对性能不敏感的场景


1万+

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



