如何通过Golang中的短变量声明为函数输入指定返回值?

时间:2017-10-21 07:36:08

标签: go

请考虑以下代码段...

f, err := os.OpenFile(".", os.O_RDONLY, 0666)

为了检查错误&继续,我们需要有类似的东西..

func checkerr(err error) {
    if err != nil {
        panic(err)
    }
}

然后调用这个微小的函数来验证错误。例如......

f, err := os.OpenFile(".", os.O_RDONLY, 0666)
checkerr(err)
files, err := f.Readdirnames(0)
checkerr(err)

虽然这有效,但我正在寻找在初始化阶段直接调用checkerr()的快捷方式。见下文......

f, checkerr(err) := os.OpenFile(".", os.O_RDONLY, 0666)

是否可以使用原生Golang构造?

1 个答案:

答案 0 :(得分:1)

在我之后重复:“这是惯用的去检查错误。”以下是错误代码,即使它不是DRYest。

f, err := os.OpenFile(".", os.O_RDONLY, 0666)
if err != nil {
    panic(err)
}
files, err := f.Readdirnames(0)
if err != nil {
    panic(err)
}