作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
type Foo interface {
FooMethod()
}
type BarFoo struct {
}
func (f *BarFoo) FooMethod() {
}
func NewBarFoo() *Foo {
return &BarFoo{}
}
错误:不能使用“&BarFoo{}”(类型 *BarFoo)作为类型 *Foo
为什么我会收到此类代码的编译错误?多态性是否适用于指针?
顺便说一句,这段代码没问题
func NewBarFoo() Foo {
return &BarFoo{}
}
最佳答案
您只需将函数签名更改为
func NewBarFoo() Foo {
return &BarFoo{}
}
你返回的还是一个指针,恰好指针实现了接口(interface)
关于带指针的 Go 工厂方法多态性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54656970/
我来自 Asp.Net 世界,试图理解 Angular State 的含义。 什么是 Angular 状态?它类似于Asp.Net中的ascx组件吗?是子页面吗?它类似于工作流程状态吗? 我听到很多人
我一直在寻找 3 态拨动开关,但运气不佳。 基本上我需要一个具有以下状态的开关: |开 |不适用 |关 | slider 默认从中间开始,一旦用户向左或向右滑动,就无法回到N/A(未回答)状态。 有人
我是一名优秀的程序员,十分优秀!