专栏首页陶士涵的菜地[Go] golang的error接口

[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)
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [PHP] 项目实践中使用的IOC容器思想

    1.容器的意思就是一个全局变量,里面存了很多对象,如果要用到某个对象就从里面取,前提就是要先把对象放进去 2.控制反转就是把自己的控制权交给别人 3.这两个结合...

    陶士涵
  • [javaSE] 网络编程(TCP服务端客户端互访阻塞)

    获取Socket对象,new出来,构造参数:String的ip地址,int的端口号

    陶士涵
  • [日常] Go语言圣经--结构体,JSON习题

    2.通常一行对应一个结构体成员,成员的名字在前类型在后,不过如果相邻的成员类型如果相同的话可以被合并到一行

    陶士涵
  • springboot使用hibernate validator校验

    一、参数校验  在开发中经常需要写一些字段校验的代码,比如字段非空,字段长度限制,邮箱格式验证等等,写这些与业务逻辑关系不大的代码个人感觉有两个麻烦: 验证代码...

    庞小明
  • PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例

    本文实例讲述了PHP面向对象程序设计内置标准类,普通数据类型转为对象类型。分享给大家供大家参考,具体如下:

    砸漏
  • Spring官网阅读(十四)Spring中的BeanWrapper及类型转换

    BeanWrapper的子类只有一个:BeanWrapperImpl,它继承了ConfigurablePropertyAccessor,这个接口的主要功能是进行...

    程序员DMZ
  • Spring官网阅读系列(十一):Spring中的BeanWrapper及类型转换

    BeanWrapper的子类只有一个:BeanWrapperImpl,它继承了ConfigurablePropertyAccessor,这个接口的主要功能是进行...

    秃顶的Java程序员
  • 第三阶段-Java常见对象:【第八章 System类】

    System.gc() 可用于垃圾回收.当使用System.gc() 回收某个对象所占用的内存之前,通过要求程序调用适当的方法来清理资源,在没有明确指定资源清理...

    BWH_Steven
  • 深入浅出CAS

    CAS(Compare and Swap),即比较并替换,实现并发算法时常用到的一种技术,Doug lea大神在java同步器中大量使用了CAS技术,鬼斧神工的...

    java爱好者
  • (重载)厚土Go学习笔记 | 04. 导入和导出的不同 用math.Pi来举例

    菅俊菠,70后IT人,程序员到产品经理/项目经理,先后涉猎教育、企管、煤矿、电商等多个领域的系统开发和团队管理工作。擅长业务分析、团队管理,关注前沿技术,目前注...

    李海彬

扫码关注云+社区

领取腾讯云代金券