前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Go] golang的error接口

[Go] golang的error接口

作者头像
唯一Chat
发布2019-09-10 11:13:41
5650
发布2019-09-10 11:13:41
举报
文章被收录于专栏:陶士涵的菜地陶士涵的菜地

error接口 1.error就是一个接口interface 2.属于errors包,该包有一个导出方法New,返回了errorString类型 3.errorString类型实现了error接口 4.之所以这样是因为可以实现每个错误都是不同的实例

代码语言:javascript
复制
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)
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-02-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档