Я новичок в golang. Мне нужно создать функцию для создания объекта разных типов на основе ввода. Но мне не удалось выяснить, как создать интерфейс. А вот мой код:Объект Фабрика в 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 возврата * AA или интерфейс {}. Как я могу заставить его работать?
Что точно ошибка, вы получаете? Какую строку компилятор говорит вам неправильно? – user2357112
Может показаться, что вы пытаетесь эмулировать традиционную идиому ООП в Go (или нажимаете на). Это не очень хорошая идея. Возможно, вы решили пересмотреть свое решение – Volker