拆分字符串意味着能够获取字符串的一部分,该部分可以基于字符串中的位置或字符。
在 Go 中,如果我们想根据位置拆分字符串,我们可以使用[](方括号),然后传递其中以冒号分隔的索引。
语法
考虑下面显示的语法。
sl[startingIndex : EndingIndex]
需要注意的是,切片中EndingIndex处的元素不会被考虑,因为范围是从startingIndex到(EndingIndex−1)。
示例 1
现在,让我们考虑一个示例,我们将根据不同的位置拆分字符串。
考虑下面显示的代码。
package mainimport ( "fmt")func main() { var secretString string = "this is a top secret string" res := secretString[0:10] res2 := secretString[:5] res3 := secretString[10:] fmt.Println(res, res2, res3) }
输出结果
如果我们在上面的代码中运行 go run main.go命令,那么我们将在终端中得到以下输出。
this is a this top secret string
示例 2
我们还可以根据特定字符在 Go 中拆分字符串。考虑下面显示的代码。
package mainimport ( "fmt" "reflect" "strings")func main() { var secretString string = "this is not a top secret string" res := strings.Split(secretString, "n") checkType := reflect.TypeOf(res) fmt.Println(res) fmt.Println(checkType) }
在上面的例子中,我们在字符“n”的基础上拆分字符串。它将产生一个切片,其中将有两个值,第一个将包含出现在字符 'n' 之前的所有字符,然后是它之后的所有字符。
输出结果
如果我们在上面的代码中运行 go run main.go命令,那么我们将在终端中得到以下输出。
[this is ot a top secret stri g] []string