[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数据库,是一个开箱即用的全渠道在线客服系统,致力于帮助广大开发者/公司快速部署整合私有化客服功能。
开源地址:唯一客服(开源学习版)
官网地址:唯一客服官网
浙公网安备 33010602011771号