函数类型转换流程跟error 接口类型有啥关联?

chenzhp 发布于 2015/09/08 18:07
阅读 45
收藏 0

// 任意类型都拥有Error() string方法(method)。
// The error built-in interface type is the conventional interface for
// representing an error condition, with the nil value representing no error.
// type error interface {
//   Error() string
// }


func (f binFunc) Error() string {
    return "binFunc error"
}

func func_type_convert() {
    var err error
    err = binFunc(add) //函数类型convert:add转换成binFunc类型
    fmt.Println(err)
fmt.Println(i)
}

看了这段代码,提两个问题:

1. 只是做了类型转换,代码为什么会去调用Error method?

2. 函数转换的结果,为什么复制给一个err error接口类型变量?

加载中
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部