golang中有一條代碼規(guī)范檢查: if block ends with a return statement, so drop this else and outdent its block
例如以下代碼: else處會(huì)提示: 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
}
網(wǎng)上搜索有部分不太正確的解釋或者修改方式.
正確原因是:
代碼進(jìn)了if之后, 會(huì)直接return. 不會(huì)進(jìn)else
如果代碼沒有進(jìn)if, 自然進(jìn)下面的else代碼.所以else多余.
修改為以下:
if k8serrors.IsNotFound(err) {
c.deletePodQueue.Add(key)
return
}
klog.Errorf("failed to get statefulset %v", err)
return