当将字符串解析为文本时,我希望任何不可解析的字符串导致零时间然后继续。
passwordLastUsed, err = time.Parse(time.RFC3339, record[lastUsed])
if err != nil {
err = nil
passwordLastUsed = time.Time{}
}
Run Code Online (Sandbox Code Playgroud)
这段代码看起来有些杂乱,'ineffassign'短绒棉衣将其返回给'err = nil'语句:
警告:无效分配给err(ineffassign)
有没有更好的方法来解决这个问题,还是我应该忽略棉短绒?
重设错误变量不是坏习惯,如果您要这么做的话。
设置以后不使用的变量是不好的做法,这就是警告的含义。
有可能永远不会有原因的重置故障,你正在做的,因为之后的if块err将永远是nil。
如果您仅在某些情况下进行重置,这确实很有意义。一个常见的例子:
result, err := db.Query(...)
if err == sql.ErrNoRows {
err = nil // Ignore not-found rows
}
if err != nil {
return err // But return all other errors
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3046 次 |
| 最近记录: |