在下面的代码片段中,如何初始化错误变量?
err := nil // can not compile, show "use of untyped nil"
if xxx {
err = funcA()
} else {
err = funcB()
}
if err != nil {
panic(err)
}
Run Code Online (Sandbox Code Playgroud)
如您所见,err将在if-else块中使用.我想使用一个变量来获得结果,但是我如何err在这里初始化.谢谢!
Pau*_*kin 26
您可以通过声明变量来创建零值错误(将为零).
var err error
if xxx {
err = funcA()
} else {
err = funcB()
}
Run Code Online (Sandbox Code Playgroud)
这是一个常见的习语,你会在很多代码中看到它.
这看起来有点老套,但也有效:
err := *new(error)
Run Code Online (Sandbox Code Playgroud)