如何通过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构造?
答
在我身后重复:“这是惯用的去检查错误。”以下是不是错误代码,即使它不是DRYest。
f, err := os.OpenFile(".", os.O_RDONLY, 0666)
if err != nil {
panic(err)
}
files, err := f.Readdirnames(0)
if err != nil {
panic(err)
}
这个阅读是一个很好的:https://dave.cheney.net/2016/04/27/dont-just-check-errors-handle-them-gracefully –