zoukankan      html  css  js  c++  java
  • [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)
    }
    

      

  • 相关阅读:
    jQuery 2.0.3 源码分析 回调对象
    JQuery+JQuery ui实现的弹出窗口+遮罩层+拖动+更改大小~!
    2019.8.25 小结
    2019.8.23 小结
    宜中食堂游记
    2019.8.21小结
    2019.8.22小结
    2019.8.19小结
    题解 CF499A 【Watching a movie】
    2019.8.18小结
  • 原文地址:https://www.cnblogs.com/taoshihan/p/10415016.html
Copyright © 2011-2022 走看看