go error接口与errors包详解

2021/4/24 10:25:12

本文主要是介绍go error接口与errors包详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

package main

import (
	"errors"
	"fmt"
)

type MsgError struct {
	Code int
	Msg  string
}
func (msg *MsgError) Error() string {
	return fmt.Sprintf("%s", msg.Msg)
}

func f1(code int) (int, error) {
	if code == 1 {
		return -1, errors.New("msg test error")
	}
	return code, nil
}


func f2(code int) (int, error) {
	if code == 1 {
		return -1, &MsgError{code, "struct msg test error"}
	}
	return code, nil
}

func main() {
	for _, v := range []int{1, 2, 3, 4, 5, 6} {
	      if code, err := f1(v); err != nil {
			fmt.Println(err)
		} else {
			fmt.Println("success:", code)
		}
	}
	for _, i := range []int{1, 2, 3} {
		if code, err := f2(i); err != nil {
			fmt.Println(err)
		} else {
			fmt.Println("success:", code)
		}
	}
}

转载地址:https://blog.csdn.net/xixihahalelehehe/article/details/105288886?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-1&spm=1001.2101.3001.4242



这篇关于go error接口与errors包详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程