本节重点:
- 理解 Go 中的错误处理
错误表示程序中出现异常情况。假设我们正在尝试打开一个文件,但该文件在文件系统中不存在。这是一种异常情况,它表示为错误。
Go 中的错误使用内置error
类型表示。
错误示列
尝试打开一个不存在的文件:
package main
import (
"fmt"
"os"
)
func main() {
f, err := os.Open("/test.txt")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(f.Name(), "opened successfully")
}
在上面的程序的 9行 中,我们试图打开路径中的文件/test.txt
。os
包的Open
函数具有以下特性:
func Open(name string) (file *File, err error)
如果文件已成功打开,则 Open
函数将返回文件处理程序,并且错误将为 nil
。如果打开文件时出错,将返回一个非零错误。
Go 中处理错误的惯用方法是将返回的错误与nil
比较。 nil
值表示没有发生错误,非 nil
值表示存在错误。在我们的例子中,第 10 行检查了错误值是否为 nil<