概述
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())
//方法二:
//采用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语言错误类型所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复