1 kfpenn 9 小时 7 分钟前 如果是匿名的,可以把 A 当做实现了 i1,i2,i3 的实例直接当参数使用,如果没有这个需求,那就看你习惯,想命名还是匿名都可以 |
2 zone10 8 小时 56 分钟前 啊? 你的意思是把接口嵌入到结构体里? 我写了这么久 Go 第一次知道有这种写法, 试了一下好像还没毛病. 不过这是反模式不建议这么写, Go 是鸭子类型, A 实现 i1,i2,i3 的方法自动就实现了接口, 不需要嵌入到结构体 |
![]() | 3 gongym 8 小时 2 分钟前 按照正常需求来说应该是匿名吧,A 就是 i1,i2,i3 接口的组合 |
4 ycp 7 小时 31 分钟前 | 如果你在… | 建议 | | -------------------- | ------------ | | 写业务逻辑或服务模块 | 用 **具名接口** | | 写一次性函数回调 | 可以用 **匿名接口** | | 想让结构体更容易测试、Mock 、依赖注入 | 必须用 **具名接口** | 问了下 gpt 大多数情况用具名吧 |
5 paceewang1 4 小时 5 分钟前 ![]() 1 、首先如果 A 是结构体的话,建议都是具名嵌入吧,不然接口里面有相同的方法还是要用具名的。 2 、如果要表达的 A 是 i1,i2,i3 的并集,那么 A 应该也是一个接口而不是结构体。 |