-1
这里是围棋strings.Split永远不会返回零或零长度片?
ips := strings.Split(IP, ",")
if len(ips) < 1 {
return fmt.Errorf("'%v' ip is wrong", ips)
}
一块我的代码我试用了一下,似乎ips
变量永远是零。例如,空字符串会产生一段空字符串(长度为1)。
您认为我可以删除if
块吗?
这里是围棋strings.Split永远不会返回零或零长度片?
ips := strings.Split(IP, ",")
if len(ips) < 1 {
return fmt.Errorf("'%v' ip is wrong", ips)
}
一块我的代码我试用了一下,似乎ips
变量永远是零。例如,空字符串会产生一段空字符串(长度为1)。
您认为我可以删除if
块吗?
你是对的:strings.Spit()
永远不会返回零值。结果将是类型为[]string
,至少包含一个包含给定字符串的元素。
是否可以删除if块取决于:如果len(ips) < 2
?您的代码是否有问题?如果没有,您可以安全地移除if块。
然而,如果例如你只对ips[1]
感兴趣,那么你肯定需要先检查。
我应该完成我的问题“零或零长度切片”如果我运行'strings.Split(“”,“,”)'长度为1 https://play.golang.org/p/Kaddfg9CiF – Vitalii
输出切片总是至少有一个元素。它是有道理的,即使你尝试分割空字符串,函数将返回一个元素的切片 - 空字符串。 – bayrinat
谢谢。将纠正我的答案 – TehSphinX