Go函数类型,该函数类型返回与接口一起使用的结构

Go函数类型,该函数类型返回与接口一起使用的结构,第1张

Go函数类型,该函数类型返回与接口一起使用的结构

getInstance
需要返回
myInterface

package mainimport "fmt"func main() {    var function func() myInterface    function = getInstance    newSomething := function()    newSomething.doSomething()}type myInterface interface {    doSomething()}type myStruct struct{}func (m *myStruct) doSomething() {    fmt.Println("doing something")}func getInstance() myInterface {    return &myStruct{}}

*** 场上的例子

但是,* expensive.myStruct确实实现了myInterface接口,所以我不明白为什么Go抱怨此设置的类型安全。

在那种情况下,您不是在处理Go的接口,而是在处理结构的类型签名。

当您首次使用

factoryFunction func() *myFunction
factoryFunction 声明结构时,现在始终需要匹配声明的签名。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5586167.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-15
下一篇2022-12-14

发表评论

登录后才能评论

评论列表(0条)

    保存