4
我刚刚开始学习golang,遇到了一些很奇怪的事情。当你从一个调用strings.Split获得一个空数组时,它的长度为1。为什么从strings.Split中返回的空数组的长度为1?
例
package main
import (
"fmt"
"strings"
)
func main() {
test := strings.Split("", ",")
fmt.Println(test)
fmt.Println(len(test))
}
此输出:
[]
1
这是为什么?如果这是预期的行为,那么检查数组是否为空的正确方法是什么?
由于
因为数组不是空的。它的第一个元素是一个空字符串'“”'。 –
非常感谢。 – wybourn
此外,“,”是用逗号分隔的两个空字符串,因此它们最终长度为2. –