首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Golang接口&*接口

Golang接口&*接口
EN

Stack Overflow用户
提问于 2018-03-01 11:47:15
回答 1查看 815关注 0票数 0

我试图在我的游戏服务器代码库中更多地使用接口,我正在编写并理解高级概念,以及应该何时使用(我认为)。在我的例子中,我使用它们来将包与其他包分离,并使测试变得更容易。

我的问题归结为我有一个有ptr接收方法的结构。然后,我通过一个接口将这个结构传递给另一个函数,就像在这个游乐场中一样,我搞不懂为什么一个参数为接口类型的函数能够接受一个地址到实现该接口的东西。为什么不是func something(f *face)*interface有什么用途?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-01 12:13:07

“类型接口的参数可以接受实现该接口的东西的地址”,这种情况不是这样的。恰恰相反。

您的具体foo做的是而不是实现接口面。事实并非如此。

只有*foo这样做,这是一个不同的类型在Go。

只能将*foo分配给face类型的变量。(好的,Go中有一些糖可以让您在脸上寻址,但是在这里,获取指针的过程是自动的)。

看看语言规范和类型系统。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49049076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档