var CoffeeAddtionFuncMap = map[CoffeeAddtionType]func() ICoffeeAddtion{ CoffeeAddtionTypeMilk: NewCoffeeAddtionMilk, CoffeeAddtionTypeSugar: NewCoffeeAddtionSugar, } //TODO // NewCoffeeAddtion 创建咖啡额外添加接口对象的简单工厂,根据咖啡额外添加类型,获取创建接口对象的func func NewCoffeeAddtion(addtionType CoffeeAddtionType) ICoffeeAddtion { if handler, ok := CoffeeAddtionFuncMap[addtionType]; ok { return handler() } return nil }
go创建者模式(利用map来代替switch case)
最新推荐文章于 2023-10-26 00:35:01 发布