【发布时间】:2014-04-12 15:57:32
【问题描述】:
我正在阅读文章Error handling and Go,不太明白为什么返回类型实际上是error时必须返回一个指针(&errorString{text})?
我的理解是error是一个接口,errorString实现了接口,因此,返回errorString也可以(但不是这样)。
// New returns an error that formats as the given text.
func New(text string) error {
return &errorString{text}
}
errorString 实现
// errorString is a trivial implementation of error.
type errorString struct {
s string
}
func (e *errorString) Error() string {
return e.s
}
【问题讨论】:
标签: pointers error-handling go