如果❤️我的文章有帮助,欢迎点赞、关注。这是对我继续技术创作最大的鼓励。更多往期文章在我的个人博客
前言
Golang语言有诸多优点:静态编译、协程、堪比c语言的高性能。
但是也有一些令人发指的地方,经常被人调侃 五行代码,三行错误处理
的异常错误。
那么有无更优雅
异常错误处理方法呢?今天我们来讨论一下
问题出现的地方
func readFile(path string) ([]byte, error) {
file, err := os.Open(path)
if err != nil {
return nil, err
}
defer file.Close()
return ioutil.ReadAll(file)
}
函数readFile
的功能是读出指定文件本身的内容并将其返回,同时当有错误发生时立即向调用方报告。
根据Golang编程范式,每个可能导致错误的函数都应该将error
作为最后一个返回值,所以Golang代码中随处都是”if err != nil”语句。 五行代码,三行错误处理
的调侃段子由此在圈内流行
怎么办呢?