在将字符串解析为文本时,我希望任何不可解析的字符串导致零时间,然后继续。
passwordLastUsed, err = time.Parse(time.RFC3339, record[lastUsed])
if err != nil {
err = nil
passwordLastUsed = time.Time{}
}
这段代码看起来有些混乱,而且这个代码很糟糕。' linter为' err = nil'返回此信息。语句:
警告:对err(ineffassign)的无效分配
有没有更好的方法来处理这个问题,还是应该忽略linter?
答案 0 :(得分:6)
重置错误变量是不错的做法,如果那是你想做的事。
设置以后未使用的变量是不好的做法 - 这就是警告的内容。
可能没有理由重置错误,因为您正在执行,因为在if
阻止err
之后,总是为{{ 1}}。
如果你只是在某些情况下重置,这确实有意义。一个常见的例子:
nil