Go基础_1_51 其他创建 error 的方法

Tutorial: Go初级 Category: Go Published: 2026-04-07 13:58:26 Views: 21 Likes: 0 Comments: 0
package main

import (
    "errors"
    "fmt"
)

// 设计一个函数:验证年龄是否合法,如果为负数,就返回一个error
func checkAge(age int) error {
    if age < 0 {
        //返回error对象
        //return errors.New("年龄不合法")
        err := fmt.Errorf("您给定的年龄是:%d,不合法", age)
        return err
    }
    fmt.Println("年龄是:", age)
    return nil
}

func main() {
    /*
        error:内置的数据类型,内置的接口
            定义方法:Error() string

        使用go语言提供好的包:
            errors包下的函数:New(),创建一个error对象
            fmt包下的Errorf()函数:
                func Errorf(format string, a ...interface{}) error
    */

    // 1.创建一个error数据
    err1 := errors.New("自己创建玩的。。")
    fmt.Println(err1)
    fmt.Printf("%T\n", err1) // *errors.errorString

    // 2.另一个创建error的方法
    err2 := fmt.Errorf("错误的信息码: %d", 100)
    fmt.Println(err2)
    fmt.Printf("%T\n", err2) // *errors.errorString

    fmt.Println("-----------------")
    err3 := checkAge(-30)
    if err3 != nil {
        fmt.Println(err3) // 您给定的年龄是:-30,不合法
        return
    }
    fmt.Println("程序。。。go on。。。")
}