我正在尝试重构一些代码并使其更易于阅读。我注意到在一些函数的末尾我有一些不必要的return语句。这是一个概念示例:
func someFunction(a []arr) int {
for _,v := range a {
if v == something {
// will defenitly get here at some point!
return somethingElse
}
}
return -1 // never ever happens!
}
在我看来,函数末尾的return语句具有误导性,因为它表明,它可能会在某个时刻达到。我该如何预防呢?
请注意,我在其他方面进行错误处理,这就是为什么我可以确定someFunction
将始终返回somethingElse
。
答案 0 :(得分:10)
恐慌而不是在函数结束时返回假值:
func someFunction(a []arr) int {
for _,v := range a {
if v == something {
// will defenitly get here at some point!
return somethingElse
}
}
panic("unreachable")
}
这是standard library中的常见模式。