我是 golang 编程的新手,我正在学习 go 中的接口。
当我用谷歌搜索时,我在 ardan labs 偶然发现了这个博客。下面的代码片段可以在清单 5中找到。完整的代码在 go playground here
type errorString struct {
s string
}
func New(text string) error {
return errorString{text}
}
在 New 方法中,return 语句返回一个类型的结构,errorString但函数声明说类型应该是error. 上面的代码不会抛出任何错误。它编译并且工作正常。
当我如下更改方法时,它仍然可以正常工作。
func New(text string) errorString {
return errorString{text}
}
这种不兼容的类型如何在 go 中工作?
三国纷争
相关分类