gpt4 book ai didi

go - 接口(interface)定义中可以使用多种方法吗?

转载 作者:IT王子 更新时间:2023-10-29 01:50:27 31 4
gpt4 key购买 nike

在 go 中构建接口(interface)时,常见示例如下所示:

type Notifier interface {
Notify()
}

文档看到说的是...将动词的“er”版本添加到类型名称中。现在,由于方法名称和接口(interface)名称相似,在定义中有多个方法是没有意义的。

我正在尝试:

type Commander interface {
Command()
Notify()
}

它以您期望的所有奇怪方式工作,但它似乎是错误的,没有什么能阻止我这样做。我只是不确定我是否应该链接这些命令以及代码中更深层次的内容。

type Commander interface {
Command()
}

type Notifier interface {
Notify()
}

但是调用我的函数的想法:

DoStuff(c, n)

当实现两个接口(interface)的单个​​参数也有意义时。

最佳答案

这很好,它也出现在标准库的几个地方(例如 http://golang.org/pkg/io/#ReadWriter )。

它们应该在一个接口(interface)还是两个接口(interface)中取决于实现一个接口(interface)而不实现另一个接口(interface)是否有意义或有用。

关于go - 接口(interface)定义中可以使用多种方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23861791/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com