在 Golang 中,函数可以通过 error
返回错误。error
是一个内置接口,表示发生错误。
返回错误的语法格式如下:
func funcName() (resultType, error) { // 函数体 return result, err }
其中,resultType
是函数要返回的类型,err
是错误值。err
可以是一个内置错误类型,如 nil
(表示没有错误)或 io.EOF
(表示读取文件结束),也可以是一个自定义错误类型。
自定义错误类型可以提供更多有关错误的上下文信息。要创建一个自定义错误类型,请创建一个结构体并实现 error
接口中的 Error()
方法。
type MyError struct { message string } func (e MyError) Error() string { return e.message }
下面是一个示例函数,该函数返回一个整数和一个错误:
import "fmt" func divide(a, b int) (int, error) { if b == 0 { return 0, fmt.Errorf("division by zero") } return a / b, nil } func main() { result, err := divide(10, 2) if err != nil { fmt.Println("Error:", err) } else { fmt.Println("Result:", result) } }
在上面的示例中,如果 b
等于零,divide
函数将返回一个自定义错误 division by zero
,否则将返回结果和 nil
错误。