在 Python 中,如果我這樣做...:parts = "".split(",")print parts, len(parts)輸出是:[], 0如果我在 Go 中做同樣的事情...:parts = strings.Split("", ",") fmt.Println(parts, len(parts))輸出是:[], 1如果里面什么都沒有,它的長度怎么會是 1?
2 回答

慕婉清6462132
TA貢獻1804條經(jīng)驗 獲得超2個贊
的結(jié)果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"
使用,
字符作為分隔符來分割字符串,您會期望結(jié)果"HelloWorld"
與您的輸入相同。
- 2 回答
- 0 關(guān)注
- 268 瀏覽
添加回答
舉報
0/150
提交
取消