这是我在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/