如何通过Golang中的短变量声明将返回值分配给函数输入?

问题描述:

考虑下面的代码片段...如何通过Golang中的短变量声明将返回值分配给函数输入?

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构造?

+0

这个阅读是一个很好的:https://dave.cheney.net/2016/04/27/dont-just-check-errors-handle-them-gracefully –

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

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