为什么在strings中返回一个空数组.在golang中,split的长度为1?

wyb*_*urn 7 go

我刚刚开始学习golang,我遇到了一些非常奇怪的事情.当你从对strings.Split的调用中得到一个空数组时,它的长度为1.

package main

import (
    "fmt"
    "strings"
)

func main() {
    test := strings.Split("", ",")

    fmt.Println(test)
    fmt.Println(len(test))
}
Run Code Online (Sandbox Code Playgroud)

这输出:

[]
1
Run Code Online (Sandbox Code Playgroud)

为什么是这样?如果这是预期的行为,检查数组是否为空的正确方法是什么?

谢谢

wyb*_*urn 5

正如@u_mulder 的评论中所说,该数组不为空,因为它包含一个空字符串。