在 Python 中,如果我这样做...:parts = "".split(",")print parts, len(parts)输出是:[], 0如果我在 Go 中做同样的事情...:parts = strings.Split("", ",") fmt.Println(parts, len(parts))输出是:[], 1如果里面什么都没有,它的长度怎么会是 1?
2 回答
慕婉清6462132
TA贡献1804条经验 获得超2个赞
的结果strings.Split是一个包含一个元素的切片 - 空字符串。
fmt.Println只是不显示它。试试这个例子(注意最后一次打印的变化)。
package main
import "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"
与您的输入相同。
- 2 回答
- 0 关注
- 252 浏览
添加回答
举报
0/150
提交
取消