strings.Split永远不会返回nil或零长度切片?

时间:2017-08-02 09:50:46

标签: go split

以下是Go

中的一段代码
ips := strings.Split(IP, ",")
if len(ips) < 1 {
    return fmt.Errorf("'%v' ip is wrong", ips)
}

我对此进行了测试,似乎ips变量永远不会为零。例如,空字符串会生成一个空字符串(长度为1)。

您认为我可以删除if阻止吗?

1 个答案:

答案 0 :(得分:3)

你是对的:strings.Spit()永远不会返回零值。结果将是[]string类型,其中至少有一个元素包含给定的字符串。

是否可以删除if块取决于:如果len(ips) < 2,您的代码是否有问题?如果没有,您可以安全地删除if块。

但是,例如你只对ips[1]感兴趣,那么你肯定需要先检查一下。