设为首页 加入收藏

TOP

[Go] golang的error接口
2019-02-21 22:07:50 】 浏览:40
Tags: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)
}

 

  




编程开发网
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇[Go] golang缓冲通道实现资源池 下一篇[Go] golang的接口合约

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(217) }