Golang设计模式,装饰器模式
package decorator import ( "errors" "fmt" ) type IngredientAdder interface { AddIngredient() (string, error) } type PizzaDecorator struct { Ingredient IngredientAdder } func (p *PizzaDecorator) AddIngredient() (string, error) { return "Pizza with the following ingredients:", nil } type Meat struct { Ingredient IngredientAdder } func (m *Meat) AddIn...阅读全文