Golang 中,可以通过实现 `error` 接口来自定义错误类型。`error` 接口只有一个方法 `Error() string`,因此我们只需要实现该方法即可。 以下是一个自定义错误类型的示例: ```go type MyError struct { Msg string } func (e *MyError) Error() string { return fmt.Sprintf("MyError: %s", e.Msg) } ``` 在上面的示例中,我们定义了一个结构体 `MyError`,它包含一个字符串类型的 `Msg` 字段。然后,我们实现了 `Error()` 方法,该方法返回一个格式化的字符串,其中包含了错误信息。 使用自定义错误类型的示例如下: ```go func doSomething() error { return &MyError{Msg: "something went wrong"} } func main() { if err := doSomething(); err != nil { fmt.Println(err.Error()) } } ``` 在上面的示例中,我们调用了 `doSomething()` 函数,该函数返回一个 `MyError` 类型的错误。在 `main()` 函数中,我们检查该错误并打印错误信息。