美文网首页
golang: if block ends with a ret

golang: if block ends with a ret

作者: 老廖2018 | 来源:发表于2019-12-24 11:32 被阅读0次

golang中有一条代码规范检查: if block ends with a return statement, so drop this else and outdent its block

例如以下代码: else处会提示: if block ends with a return statement, so drop this else and outdent its blockgo-lint

if k8serrors.IsNotFound(err) {
    c.deletePodQueue.Add(key)
    return
} else {
    klog.Errorf("failed to get statefulset %v", err)
    return
}

网上搜索有部分不太正确的解释或者修改方式.

正确原因是:
代码进了if之后, 会直接return. 不会进else
如果代码没有进if, 自然进下面的else代码.所以else多余.
修改为以下:

if k8serrors.IsNotFound(err) {
    c.deletePodQueue.Add(key)
    return
}

klog.Errorf("failed to get statefulset %v", err)
return

相关文章

网友评论

      本文标题:golang: if block ends with a ret

      本文链接:https://www.haomeiwen.com/subject/dcwxoctx.html