我是 golang 的新手。我需要设计一个函数来根据输入创建不同类型的对象。但是我没有弄清楚如何设计界面。这是我的代码:
package main
import (
"fmt"
)
type AA struct{
name string
}
func (this *AA) say(){
fmt.Println("==========>AA")
}
type BB struct{
*AA
age int
}
func (this *BB) say(){
fmt.Println("==========>BB")
}
func ObjectFactory(type int) *AA {
if type ==1 {
return new(AA)
}else{
return new(BB)
}
}
func main() {
obj1 := ObjectFactory(0)
obj1.say()
obj2 := ObjectFactory(0)
obj2.say()
}
无论我要求 ObjectFactory return *AA 还是 interface{},编译器都会告诉我错误。我怎样才能让它工作?
相关分类