Go语言中‘String’包中的’Cut’函数的实现
Cut函数用于在字符串**‘s’中查找子串’sep’,并将字符串’s’在子串 ‘sep’ 第一次出现的位置分割成两部分:before和after**
package main
import("fmt" "strings"
)
func main(){s := "hello,world"before, after, found := strings.Cut(s,",")if found {fmt.Println("Before: ", before)fmt.Pringln("After: ",after)}else {fmt.Println("Not found!")}
}
上述代码将会输出:
//Cut实现
func Cut(s, sep string)(before, after string, found bool){if i := Index(s, sep); i > 0 { // i为子串sep第一次出现的位置return s[:i],s[i+len(sep):],true}return s, "",false
}
return : 若找到了sep子串,使用切片操作将子串分割为两部分:从字符串开头到子串sep出现的位置为before,从子串sep出现的位置之后到字符串的末尾为after,true表示找到了子串sep