如何在 Go 中字符串拆分空字符串

在 Python 中,如果我这样做...:


parts = "".split(",")

print parts, len(parts)

输出是:


[], 0

如果我在 Go 中做同样的事情...:


parts = strings.Split("", ",")        

fmt.Println(parts, len(parts))

输出是:


[], 1

如果里面什么都没有,它的长度怎么会是 1?


翻阅古今
浏览 259回答 2
2回答

慕婉清6462132

的结果strings.Split是一个包含一个元素的切片 - 空字符串。fmt.Println只是不显示它。试试这个例子(注意最后一次打印的变化)。package mainimport "fmt"import "strings"func main() {    groups := strings.Split("one,two", ",")    fmt.Println(groups, len(groups))    groups = strings.Split("one", ",")    fmt.Println(groups, len(groups))    groups = strings.Split("", ",")    fmt.Printf("%q, %d\n", groups, len(groups))}这是有道理的。如果您想"HelloWorld"使用,字符作为分隔符来分割字符串,您会期望结果"HelloWorld"与您的输入相同。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go