Golang设计模式 之简单工厂模式
定义NewXXX函数来初始化相关类,NewXXX函数返回接口时就是简单工厂模式。
Show Code Time
type API interface{
Learn(book string) string
}
type Student struct{
}
func (*Student ) Learn(book string)string{
fmt.println(“student learn”)
}
type Teacher struct{
}
func (*Teacher ) Learn(book string)string{
fmt.println(“teacher learn”)
}
func NewApi(i int) API{
if i ==1 {
retrun Student
}else {
retrun Teacher
}
}