MST
星途 面试题库

面试题:Go语言中如何定义一个简单的自定义error类型

请用Go语言代码示例展示如何定义一个简单的自定义error类型,并在函数中返回该自定义error。
27.2万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
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)
        }
    }
}