Golang,Go:隐式调用接口函数?

http://play.golang.org/p/xjs-jwMsr7


我有这个功能


 func (e *MyError) Error() string {

    return fmt.Sprintf("AT %v, %s", e.When, e.What)

 } 


正如你在下面看到的,我从来没有调用过它,但为什么在最终输出中调用它?


type MyError struct {

    When time.Time

    What string

}


func (e *MyError) Error() string {

    return fmt.Sprintf("AT %v, %s", e.When, e.What)

}


func run() error {

    return &MyError{

        time.Now(), "it didn't work",

    }

}


func main() {

    if err := run(); err != nil {

        fmt.Println(err)

    }

}


catspeake
浏览 238回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go