在下面的代码片段中,如何初始化错误变量?
err := nil // can not compile, show "use of untyped nil"
if xxx {
err = funcA()
} else {
err = funcB()
}
if err != nil {
panic(err)
}
如上所示,{ - 1}}将用于if-else块。我想使用一个变量来获取结果,但是如何在此处初始化err
。谢谢!
答案 0 :(得分:23)
您可以通过声明变量来创建零值错误(将为零)。
var err error
if xxx {
err = funcA()
} else {
err = funcB()
}
这是一个常见的习语,你会在很多代码中看到它。
答案 1 :(得分:-1)
这个看起来有些古怪,但也有效:
err := *new(error)