func main() {
s := "Hello, 世界! Hello!"
ss := strings.Fields(s)
fmt.Printf("%qn", ss) // ["Hello," "世界!" "Hello!"]
}
------------------------------------------------------------
// FieldsFunc 以一个或多个满足 f(rune) 的字符为分隔符,
// 将 s 切分成多个子串,结果中不包含分隔符本身。
// 如果 s 中没有满足 f(rune) 的字符,则返回一个空列表。
func FieldsFunc(s string, f func(rune) bool) []stringfunc isSlash(r rune) bool {
return r == '' || r == '/'
}func main() {
s := "C:WindowsSystem32FileName"
ss := strings.FieldsFunc(s, isSlash)
fmt.Printf("%qn", ss) // ["C:" "Windows" "System32" "FileName"]
}
------------------------------------------------------------
// Join 将 a 中的子串连接成一个单独的字符串,子串之间用 sep 分隔
func Join(a []string, sep string) string
func main() {
ss := []string{"Monday", "Tuesday", "Wednesday"}
s := strings.Join(ss, "|")
fmt.Println(s)
}
------------------------------------------------------------
// HasPrefix 判断字符串 s 是否以 prefix 开头
func HasPrefix(s, prefix string) boolfunc main() {
s := "Hello 世界!"
b := strings.HasPrefix(s, "hello")
fmt.Println(b) // false
b = strings.HasPrefix(s, "Hello")
fmt.Println(b) // true
}
------------------------------------------------------------
// HasSuffix 判断字符串 s 是否以 prefix 结尾
func HasSuffix(s, suffix string) bool
func main() {
s := "Hello 世界!"
b := strings.HasSuffix(s, "世界")
fmt.Println(b) // false
b = strings.HasSuffix(s, "世界!")
fmt.Println(b) // true
}
------------------------------------------------------------
// Map 将 s 中满足 mapping(rune) 的字符替换为 mapping(rune) 的返回值。
// 如果 mapping(rune) 返回负数,则相应的字符将被删除。
func Map(mapping func(rune) rune, s string) stringfunc Slash(r rune) rune {
if r == '' {
return '/'
}
return r
}
func main() {s := "C:WindowsSystem32FileName"
ms := strings.Map(Slash, s)
fmt.Printf("%qn", ms) // "C:/Windows/System32/FileName"
}
-----------------------------------------------------------
// Repeat 将 count 个字符串 s 连接成一个新的字符串
func Repeat(s string, count int) string
func main() {
s := "Hello!"
rs := strings.Repeat(s, 3)










