描述
strings.hasprefix函数用来检测字符串是否以指定的前缀开头。
需要导入 strings包
strings.hasprefix(s, prefix)
参数 | 说明 | 备注 |
s | 待检测的字符串 | 字符串类型的参数 |
prefix | 指定的前缀 |
字符串类型的参数 |
返回一个布尔值。如果字符串s是以prefix开头,则返回true,否则返回false。
package main
import (
"fmt"
"strings"
)
func main() {
flavor := "hw:numa_notes"
if strings.hasprefix(flavor, "hw") {
fmt.println("it's a 'hw' flavor.")
} else {
fmt.println("unknown flavor.")
}
}
运行结果
it's a 'hw' flavor.
下面是go 1.12 hasprefix()函数的源码。
可以看出当s长度小于prefix时,hasprefix返回false。
当s长度不小于prefix时,且s在区间[0, len(prefix))上的子字符串等于prefix,hasprefix()返回true。
// hasprefix tests whether the string s begins with prefix.
func hasprefix(s, prefix string) bool {
return len(s) >= len(prefix) && s[0:len(prefix)] == prefix
}