1
5
如果必须实施如果实现接口的值必须有效(例如,它的方法必须可以调用而不必惊慌),那么就不能这样做。 方法声明必须位于顶层(文件级)。要实现一个方法多于0个的接口,需要在某个地方有方法声明。 当然,您可以使用一个结构并嵌入一个现有的实现,但同样,它要求已经有一个现有的实现,其方法必须已经在文件级“某处”定义。
如果您需要一个“虚拟”但可行的实现,它们使用/通过
任何
实现,例如
如果您需要为 一些 在这些方法中,您可以动态地创建一个拥有这些方法的函数的委托结构类型,并且实际的方法检查是否设置了相应的函数,在这种情况下,调用它,否则什么都不做。 这就是它看起来的样子:
当使用它时,您可以自由地只提供函数的一个子集,其余的将是非操作:
如果不要求实施工作如果您只需要一个实现接口的值,但不需要其方法是“可调用的”(如果调用,则不必惊慌),则只需使用匿名结构文本,嵌入接口类型:
|
Gabe Tucker · 无法在golang中分配接口对象指针 2 年前 |
randomDud · C#从另一个接口重写接口方法 2 年前 |
evilsushi · C#接口不允许成员类满足要求 6 年前 |