golang官方教程 golang策略模式
最多可阅读 10000 页后进入和退出文档。类型 PricingContext struct { strategy DiscountStrategy}<>;p>;func (c *PricingContext) SetStrategy(s DiscountStrategy) {c.strategy = s}<>;/p>;<>;p>;func (c *PricingContext) ApplyDiscount(price float64) float64 {if c.strategy == nil {return price}return c.strategy.Calculate(price)} 后后复制
阅读更多
使用文档打开大门,打开大门,打开大门,阅读 46,阅读评论 context := amp;PricingContext{}<>;p>;context.SetStrategy(amp;PercentDiscount{Rate: 0.2})fmt.Println(context.ApplyDiscount(100)) // 输出 80lt;/pgt;lt;pgt;context.SetStrategy(amp;FixedDiscount{Amount: 15})fmt.Println(context.ApplyDiscount(100)) // 退出 85 该出去了。
不复试,不复试,不复试,不重新检查.用户输入动态选择
实际项目中,策略的选择往往来自配置文件或API参数。
