这是我在Go中的一段代码

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

我对此进行了测试,看来ips变量永远不能为零。例如,空字符串会产生一片空字符串(长度为1)。

您认为我可以删除if块吗?

最佳答案

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

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

但是如果您只对ips[1]感兴趣,那么您肯定需要首先检查。

关于go - strings.Split永远不会返回nil或零长度 slice ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45457397/

10-10 01:04