go - 如何在 if-else 中初始化错误类型

标签 go

在下面的代码片段中,如何初始化错误变量?

err := nil                // can not compile, show "use of untyped nil"
if xxx {
    err = funcA()
} else {
    err = funcB()
}
if err != nil {
    panic(err)
}

正如您在上面看到的,err 将在 if-else block 中使用。我想使用一个变量来获得结果,但是如何在此处初始化 err 。谢谢!

最佳答案

您可以通过声明变量来创建一个零值错误(将为 nil)。

var err error
if xxx {
    err = funcA()
} else {
    err = funcB()
}

这是一个常见的习惯用法,你会在大量代码中看到它。

关于go - 如何在 if-else 中初始化错误类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23193208/

相关文章:

json - 如何在不默认为 float64 的情况下解码各种类型的列表

go - 无符号整数溢出

go - 如何将一片 Uint64 变成一片字节

go - 为整个 golang 项目设置一次变量

CORS 策略不允许和阻止 Angular 前端 POST 到 Golang 后端方法

https - 戈朗 : HTTPS request yields "crypto/rsa: verification error"

opengl - 如何使用 openGL 的 golang 绑定(bind)定义 gl.DrawBuffers COLOR_ATTACHMENTi

转到文件夹结构相同的包

go - Go中的同时变量分配不同于单个变量分配

svg - 如何在 Go 中直接包含 SVG 作为 html 部分