Go 程序使用 error 值表示错误状态。
error
error 类型是一个内置接口,类似于 fmt.Stringer:
fmt.Stringer
type error interface { Error() string }
(与 fmt.Stringer 类似, fmt 包在 打印值时也会检查待打印的值是否实现了 error 接口。)
fmt
函数通常会返回一个 error 值,调用方应通过判断该错误是否为 nil 来处理错误。
nil
i, err := strconv.Atoi("42") if err != nil { fmt.Printf("couldn't convert number: %v\n", err) return } fmt.Println("Converted integer:", i)
error 为 nil 表示成功;非 nil 的 error 表示失败。