我是靠谱客的博主 大胆哑铃,这篇文章主要介绍go语言错误类型,现在分享给大家,希望可以做个参考。

1.考虑的error的使用原因
error类型本身就是一个预定义好的接口,里面定义了一个method
type error interface {
Error() string//定义一个error()的方法
}
2如何完成error的第一个简单的调用,输出的格式err:=fmt.Errorf("%s",“error:this is error”)
func main() {
//方法一:
//采用errors包的New方法 返回一个err的类型
var err error = errors.New(“this is a new error”)
//由于已经实现了error接口的方法 因此可以直接调用对应的方法
fmt.Println(err.Error())

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//方法二: //采用fmt.Errof 将string信息转化为error信息 并返回 err = fmt.Errorf("%s", "the error test for fmt.Errorf") fmt.Println(err.Error()) //方法三:json串的方式 //采用自定义的方式实现一个error的 一个duck 类型 err = &Customerror{ infoa: "err info a", infob: "err info b", Err: errors.New("test custom err"), } fmt.Println(err.Error())

}

package main

import (
“errors”
“fmt”
)

func main() {
err:=fmt.Errorf("%s",“error:this is error”)
fmt.Println(“err=”,err)
err2:=errors.New(“this is norrow error”)
fmt.Println(“err2”,err2)
}
2.error在做返回值时候的使用方式,定义一个函数方法的同时,
3.整个思路:func xxx( byte)(XX byte,err error){
进行if的条件判断{
Fmt.errorf(xxxx)
}else{
xxxx
}
做返回值return
}
主函数的使用
Func main(){
返回值1,返回值(err):=返回的函数实参传递
判断err是否为空
并格式化输出
打印返回的参数值
package main

import “fmt”

func MyFunc(a,b int)(result int,err error){
if b==0{
fmt.Errorf(“err=”,“分母不可以为0”)
}else {
result=a/b
}
return
}

func main() {
//MyFunc(10,0)
result, err := MyFunc(10, 0)
if err != nil {
fmt.Printf("%+vn", err)
} else {
fmt.Println(“result=”, result)
}
}

最后

以上就是大胆哑铃最近收集整理的关于go语言错误类型的全部内容,更多相关go语言错误类型内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部