`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挑战
简单在这个挑战中,你将使用 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")
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Go 在线编译器