gpt4 book ai didi

go - 如何将 golang 结构标记为实现接口(interface)?

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

我有接口(interface):

  type MyInterface interface {
...
}

我想标记我的结构实现了它。我认为这是不可能的,但我想确定。

我做了以下操作,但我认为它会产生一个实现接口(interface)的匿名变量。我说得对吗?

  type MyStruct struct {
...
MyInterface
}

最佳答案

在 Go 中,实现接口(interface)是隐式的。无需明确将其标记为实现接口(interface)。虽然有点不同,但您可以使用赋值来测试类型是否实现了接口(interface),如果没有实现,则会产生编译时错误。看起来像这样(来自 Go 的常见问题解答页面的示例);

type T struct{}
var _ I = T{} // Verify that T implements I.
var _ I = (*T)(nil) // Verify that *T implements I.

要回答您的第二个问题,是的,那是说您的结构由实现该接口(interface)的类型组成。

关于go - 如何将 golang 结构标记为实现接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33089523/

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