Go中没有startwith,endswith函数?

在Go语言标准库中确实没有像Python中的 startswithendswith 这样的字符串方法。不过,你可以使用Go语言的标准库中提供的一些方法来实现类似的功能。

实现 startswith 功能

在Go中,可以使用 strings.HasPrefix 函数来判断字符串是否以特定的前缀开头:

go
package main import ( "fmt" "strings" ) func main() { str := "Hello, world!" if strings.HasPrefix(str, "Hello") { fmt.Println("字符串以 'Hello' 开头") } else { fmt.Println("字符串不以 'Hello' 开头") } }

实现 endswith 功能

对于判断字符串是否以特定后缀结尾,可以使用 strings.HasSuffix 函数:

go
package main import ( "fmt" "strings" ) func main() { str := "Hello, world!" if strings.HasSuffix(str, "world!") { fmt.Println("字符串以 'world!' 结尾") } else { fmt.Println("字符串不以 'world!' 结尾") } }

自定义函数实现

如果需要更灵活的匹配方式,可以编写自定义函数来实现类似 startswithendswith 的功能:

go
package main import "fmt" func startswith(s, prefix string) bool { return len(s) >= len(prefix) && s[:len(prefix)] == prefix } func endswith(s, suffix string) bool { return len(s) >= len(suffix) && s[len(s)-len(suffix):] == suffix } func main() { str := "Hello, world!" if startswith(str, "Hello") { fmt.Println("字符串以 'Hello' 开头") } else { fmt.Println("字符串不以 'Hello' 开头") } if endswith(str, "world!") { fmt.Println("字符串以 'world!' 结尾") } else { fmt.Println("字符串不以 'world!' 结尾") } }

总结

虽然Go语言标准库中没有 startswithendswith 直接可用的方法,但可以利用 strings.HasPrefixstrings.HasSuffix 函数来实现类似功能。此外,也可以编写简单的自定义函数来满足特定的需求。

关键字提取

Go语言, strings.HasPrefix, strings.HasSuffix, 自定义函数