为了账号安全,请及时绑定邮箱和手机立即绑定

go :返回类型与声明不同的函数如何在 golang 中正常工作

go :返回类型与声明不同的函数如何在 golang 中正常工作

Go
繁花不似锦 2022-06-01 12:23:34
我是 golang 编程的新手,我正在学习 go 中的接口。当我用谷歌搜索时,我在 ardan labs 偶然发现了这个博客。下面的代码片段可以在清单 5中找到。完整的代码在 go playground heretype 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 中工作?
查看完整描述

1 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

该error类型是接口类型。这是接口的声明:


type error interface {

    Error() string

}

errorString是错误接口的实现。这就是为什么它适用于errorString类型。


您可以在此处找到有关接口的更多详细信息


查看完整回答
反对 回复 2022-06-01
  • 1 回答
  • 0 关注
  • 110 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信