go:返回类型与声明不同的函数在golang中如何正常工作
我是golang编程新手,正在学习go中的接口 谷歌搜索时,我在阿丹实验室偶然发现了这一点。清单5中有下面的代码片段。完整的代码正在运行中 在新方法中,return语句返回类型为errorString的结构,但函数声明指出该类型应为error。上面的代码不会抛出任何错误。它编译并运行良好go:返回类型与声明不同的函数在golang中如何正常工作,go,Go,我是golang编程新手,正在学习go中的接口 谷歌搜索时,我在阿丹实验室偶然发现了这一点。清单5中有下面的代码片段。完整的代码正在运行中 在新方法中,return语句返回类型为errorString的结构,但函数声明指出该类型应为error。上面的代码不会抛出任何错误。它编译并运行良好 func New(text string) errorString { return errorString{text} } 当我改变了方法如下仍然工作良好 func New(text string)
func New(text string) errorString {
return errorString{text}
}
当我改变了方法如下仍然工作良好
func New(text string) errorString {
return errorString{text}
}
这种不兼容类型在go中是如何工作的?错误类型是一种接口类型。以下是接口声明:
type error interface {
Error() string
}
errorString是错误接口的一个实现。
这就是为什么它适用于errorString类型
您可以找到有关接口的更多详细信息