[Go] golang的error接口
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) }
十年开发经验程序员,离职全心创业中,历时三年开发出的产品《唯一客服系统》
一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的网站在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的全渠道在线客服系统,致力于帮助广大开发者/公司快速部署整合私有化客服功能。
开源地址:唯一客服(开源学习版)
官网地址:唯一客服官网