83_Go基础_1_51 其他创建 error 的方法

 1 package main
 2 
 3 import (
 4     "errors"
 5     "fmt"
 6 )
 7 
 8 // 设计一个函数:验证年龄是否合法,如果为负数,就返回一个error
 9 func checkAge(age int) error {
10     if age < 0 {
11         //返回error对象
12         //return errors.New("年龄不合法")
13         err := fmt.Errorf("您给定的年龄是:%d,不合法", age)
14         return err
15     }
16     fmt.Println("年龄是:", age)
17     return nil
18 }
19 
20 func main() {
21     /*
22         error:内置的数据类型,内置的接口
23             定义方法:Error() string
24 
25         使用go语言提供好的包:
26             errors包下的函数:New(),创建一个error对象
27             fmt包下的Errorf()函数:
28                 func Errorf(format string, a ...interface{}) error
29     */
30 
31     // 1.创建一个error数据
32     err1 := errors.New("自己创建玩的。。")
33     fmt.Println(err1)
34     fmt.Printf("%T\n", err1) // *errors.errorString
35 
36     // 2.另一个创建error的方法
37     err2 := fmt.Errorf("错误的信息码: %d", 100)
38     fmt.Println(err2)
39     fmt.Printf("%T\n", err2) // *errors.errorString
40 
41     fmt.Println("-----------------")
42     err3 := checkAge(-30)
43     if err3 != nil {
44         fmt.Println(err3) // 您给定的年龄是:-30,不合法
45         return
46     }
47     fmt.Println("程序。。。go on。。。")
48 }
原文地址:https://www.cnblogs.com/luwei0915/p/15633833.html