1
5
如果必须实施如果实现接口的值必须有效(例如,它的方法必须可以调用而不必惊慌),那么就不能这样做。 方法声明必须位于顶层(文件级)。要实现一个方法多于0个的接口,需要在某个地方有方法声明。 当然,您可以使用一个结构并嵌入一个现有的实现,但同样,它要求已经有一个现有的实现,其方法必须已经在文件级“某处”定义。
如果您需要一个“虚拟”但可行的实现,它们使用/通过
任何
实现,例如
如果您需要为 一些 在这些方法中,您可以动态地创建一个拥有这些方法的函数的委托结构类型,并且实际的方法检查是否设置了相应的函数,在这种情况下,调用它,否则什么都不做。 这就是它看起来的样子:
当使用它时,您可以自由地只提供函数的一个子集,其余的将是非操作:
如果不要求实施工作如果您只需要一个实现接口的值,但不需要其方法是“可调用的”(如果调用,则不必惊慌),则只需使用匿名结构文本,嵌入接口类型:
|
grandmasternik · 缺少文件或方法 2 年前 |
nvh · 无限期运行Go例程(完成后重新启动) 2 年前 |
Gabe Tucker · 无法在golang中分配接口对象指针 2 年前 |
kepemo2494 · 如何使用docker运行golang? 2 年前 |
muthermutton · 为什么我的切片在追加时没有更新?[重复] 2 年前 |
nos · 将Golang二进制文件读入切片数据,结果为零 2 年前 |
Tono Nam · 指向同一内存位置的两个不同类型的对象 2 年前 |