在 Go 语言中,你可以使用 strings.HasSuffix() 函数来判断一个字符串是否以指定的子字符串结尾。
示例代码:go
package main
import (
"fmt"
"strings"
)
func main() {
str1 := "hello/world/"
str2 := "hello/world"
str3 := "/"
str4 := ""
// 判断 str1 是否以 "/" 结尾
if strings.HasSuffix(str1, "/") {
fmt.Printf("'%s' 以 '/' 结尾\n", str1)
} else {
fmt.Printf("'%s' 不以 '/' 结尾\n", str1)
}
// 判断 str2 是否以 "/" 结尾
if strings.HasSuffix(str2, "/") {
fmt.Printf("'%s' 以 '/' 结尾\n", str2)
} else {
fmt.Printf("'%s' 不以 '/' 结尾\n", str2)
}
// 判断 str3 是否以 "/" 结尾
if strings.HasSuffix(str3, "/") {
fmt.Printf("'%s' 以 '/' 结尾\n", str3)
} else {
fmt.Printf("'%s' 不以 '/' 结尾\n", str3)
}
// 判断 str4 是否以 "/" 结尾 (空字符串)
if strings.HasSuffix(str4, "/") {
fmt.Printf("'%s' 以 '/' 结尾\n", str4)
} else {
fmt.Printf("'%s' 不以 '/' 结尾\n", str4)
}
}
输出:
'hello/world/' 以 '/' 结尾
'hello/world' 不以 '/' 结尾
'/' 以 '/' 结尾
'' 不以 '/' 结尾
解释:
* strings.HasSuffix(s, suffix string) bool:
* s: 要检查的字符串。
* suffix: 要检查的后缀字符串。
* 该函数返回一个布尔值:
* true: 如果 s 以 suffix 结尾。
* false: 否则。
注意事项:
* 区分大小写: strings.HasSuffix() 是区分大小写的。如果你需要进行不区分大小写的判断,你需要先将字符串转换为统一的大小写(例如,使用 strings.ToLower() 或 strings.ToUpper())再进行比较。
* 空字符串: 如果输入的字符串是空字符串 (""),并且你检查的后缀也是空字符串,那么 strings.HasSuffix("", "") 会返回 true。但如果你检查的后缀不是空字符串,则会返回 false。
总结:
使用 strings.HasSuffix(yourString, "/") 是在 Go 语言中判断字符串是否以 / 结尾最简洁、最标准的方式。