数码资讯
01 golang 设计模式-创建型模-工厂方法
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
工厂方法 code
package factory
import "fmt"
type Company interface {
Goodjob()
}
type Thinry struct {
}
func (m *Thinry) Goodjob() {
fmt.Println("Thinry 9点开始进入工作")
}
type Shine struct {
}
func (m *Shine) Goodjob() {
fmt.Println("Shine 9点30开始进入工作")
}
func NewConpany(cType string) Company {
switch cType {
case "jit":
return &Thinry{}
case "shine":
return &Shine{}
}
return nil
}
Test code
package factory
import "testing"
func TestNewCompany(t *testing.T) {
NewConpany("jit").Goodjob()
NewConpany("shine").Goodjob()
}
Test执行结果
Thinry 9点开始进入工作
Shine 9点30开始进入工作
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。