青春纸盒子

文: 芦苇

你喜欢我笑的样子

我靠上了落寞的窗子

晚风吹起了我的袖子

明月沾湿了你的眸子


转身,你走出了两个人的圈子

树影婆娑,整座院子


挽起袖子

回头,把揽你忧伤一地的影子

装进,青春,这纸盒子


更多代码请关注我的微信小程序: "ecoder"

luwei0915

导航

85_Go基础_1_53 自定义结构体实现错误

 1 package main
 2 
 3 import (
 4     "fmt"
 5     "math"
 6 )
 7 
 8 //1.定义一个结构体,表示错误的类型
 9 type areaError struct {
10     msg    string
11     radius float64
12 }
13 
14 // 2.实现error接口,就是实现Error()方法
15 func (e *areaError) Error() string {
16     return fmt.Sprintf("error:半径,%.2f,%s", e.radius, e.msg)
17 }
18 
19 func circleArea(radius float64) (float64, error) {
20     if radius < 0 {
21         return 0, &areaError{"半径是非法的", radius}
22     }
23     return math.Pi * radius * radius, nil
24 }
25 
26 func main() {
27     /*
28         自定义错误:
29     */
30 
31     radius := -3.0
32     area, err := circleArea(radius)
33 
34     if err != nil {
35         fmt.Println(err)
36         if err, ok := err.(*areaError); ok {
37             fmt.Printf("半径是:%.2f\n", err.radius)
38         }
39         return
40     }
41     fmt.Println("圆形的面积是:", area)
42 
43 }

 

posted on 2021-12-02 18:40  芦苇の  阅读(41)  评论(0编辑  收藏  举报