Menu
CoddyTech

`error` 接口

本课属于 Coddy GO 学习旅程的“基础知识”单元。第 103 课,共 109 课。

在 Go 中,错误接口是一种内置类型,用于表示错误情况。任何实现了 Error() 方法的类型都满足此接口。

这是错误接口的定义:

type error interface {
    Error() string
}

创建自定义错误类型:

type MyError struct {
    Message string
}

func (e MyError) Error() string {
    return e.Message
}

func main() {
    err := MyError{Message: "something went wrong"}
    fmt.Println(err)
}

输出结果为:

something went wrong
challenge icon

挑战

简单

在这个挑战中,你将使用 Go 的 error 接口。你需要使用 errors.New() 函数创建一个自定义错误,然后检查是否存在错误。

代码中已经有一个返回错误的函数。你的任务是检查错误是否不为 nil,并打印适当的消息。

亲手试试

package main

import (
	"errors"
	"fmt"
)

func main() {
	// 这个函数返回一个错误
	err := generateError()
	
	// TODO:检查 err 是否不为 nil
	// 如果 err 不为 nil,先打印 "Error occurred: ",再打印错误信息
	// HINT:用 if 语句检查 err != nil
	
	
	// 无论是否发生错误,这行代码都会执行
	fmt.Println("Program completed successfully")
}

// 这个函数会生成一个错误
func generateError() error {
	return errors.New("something went wrong")
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Go 在线编译器