首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将接口方法的返回类型定义为另一个接口?

要将接口方法的返回类型定义为另一个接口,您可以在接口定义中使用接口嵌套。以下是一个示例:

代码语言:go
复制
package main

import "fmt"

// 定义一个接口
type MyInterface interface {
    MyMethod() MySubInterface
}

// 定义一个子接口
type MySubInterface interface {
    SubMethod() string
}

// 实现子接口
type MyStruct struct{}

func (m MyStruct) SubMethod() string {
    return "Hello, World!"
}

// 实现主接口并返回子接口
type MyMainStruct struct{}

func (m MyMainStruct) MyMethod() MySubInterface {
    return MyStruct{}
}

func main() {
    var myInterface MyInterface
    myInterface = MyMainStruct{}

    result := myInterface.MyMethod()
    fmt.Println(result.SubMethod())
}

在这个示例中,我们定义了两个接口:MyInterfaceMySubInterfaceMyInterface 接口有一个 MyMethod() 方法,该方法返回 MySubInterface 类型。MySubInterface 接口有一个 SubMethod() 方法,该方法返回一个字符串。

我们还定义了两个结构体:MyStructMyMainStructMyStruct 实现了 MySubInterface 接口,MyMainStruct 实现了 MyInterface 接口。MyMainStructMyMethod() 方法返回一个 MyStruct 结构体,该结构体实现了 MySubInterface 接口。

main() 函数中,我们创建了一个 MyMainStruct 结构体实例,并将其赋值给 MyInterface 类型的变量 myInterface。然后,我们调用 myInterface.MyMethod() 方法,该方法返回一个实现了 MySubInterface 接口的结构体。最后,我们调用 result.SubMethod() 方法,该方法返回一个字符串 "Hello, World!"。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券