面试题答案
一键面试package main
import (
"fmt"
)
// 定义自定义error类型
type MyError struct {
Message string
}
func (e *MyError) Error() string {
return e.Message
}
// 定义一个函数,返回自定义error
func doSomething() error {
return &MyError{Message: "这是一个自定义错误"}
}
你可以通过以下方式调用这个函数并处理错误:
func main() {
err := doSomething()
if err != nil {
if myErr, ok := err.(*MyError); ok {
fmt.Printf("自定义错误: %v\n", myErr.Message)
} else {
fmt.Printf("其他错误: %v\n", err)
}
}
}