创建简单错误
本课属于 Coddy GO 学习旅程的“基础知识”单元。第 106 课,共 109 课。
在 Go 中,你可以使用标准库中的 errors.New() 函数创建自定义错误。
导入 errors 包:
import (
"errors"
"fmt"
)创建一个带有消息的简单错误:
func divide(a, b int) (int, error) {
if b == 0 {
return 0, errors.New("cannot divide by zero")
}
return a / b, nil
}
func main() {
result, err := divide(10, 0)
if err != nil {
fmt.Println("Error:", err)
} else {
fmt.Println("Result:", result)
}
}输出将是:
Error: cannot divide by zero挑战
入门在这个挑战中,你将练习使用 errors.New() 函数在 Go 中创建一个简单的错误。
你有一个用于检查用户名是否有效的函数。用户名至少包含 5 个字符才有效。你的任务是补全这个函数,在用户名太短时返回适当的错误。
亲手试试
package main
import (
"errors"
"fmt"
)
func main() {
// 用有效的用户名测试
result, err := validateUsername("gopher123")
if err != nil {
fmt.Println("Error:", err)
} else {
fmt.Println(result)
}
// 用无效的用户名测试
result, err = validateUsername("go")
if err != nil {
fmt.Println("Error:", err)
} else {
fmt.Println(result)
}
}
func validateUsername(username string) (string, error) {
if len(username) < 5 {
// TODO:返回一个错误,错误消息为 "username must be at least 5 characters long"
// 提示:使用 errors.New() 创建一个新错误
return "", nil // 替换这一行
}
return "Username is valid", nil
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Go 在线编译器