[Go] golang的error接口
程序员文章站
2023-03-31 22:29:23
error接口1.error就是一个接口interface2.属于errors包,该包有一个导出方法New,返回了errorString类型3.errorString类型实现了error接口4.之所以这样是因为可以实现每个错误都是不同的实例 ......
error接口
1.error就是一个接口interface
2.属于errors包,该包有一个导出方法new,返回了errorstring类型
3.errorstring类型实现了error接口
4.之所以这样是因为可以实现每个错误都是不同的实例
package main
import (
"errors"
"fmt"
"syscall"
)
/*
errors包中的代码
package errors
//定义了接口
type error interface {
error() string
}
//大写字母开头的方法,可以导出
//返回了errorstrig类型
func new(text string) error { return &errorstring{text} }
//定义类型
type errorstring struct { text string }
//类型实现接口的方法
func (e *errorstring) error() string { return e.text }
*/
func main() {
//返回false,这俩是不相同的实例
fmt.println(errors.new("tsh error") == errors.new("tsh error"))
//fmt.errorf进行了包装
fmt.println(fmt.errorf("我是 %s 错误", "tsh"))
//类似实现了error接口
var err error = syscall.errno(2)
fmt.println(err.error())
fmt.println(err)
}
下一篇: python 的入门