golang工厂模式怎么实现

avatar
作者
猴君
阅读量:0

在Golang中,工厂模式可以通过使用接口和结构体来实现。下面是一个简单的例子:

首先,定义一个接口,表示产品的抽象:

type Product interface { GetName() string SetName(name string) } 

然后,定义一个结构体,表示具体的产品:

type ConcreteProduct struct { name string } func (p *ConcreteProduct) GetName() string { return p.name } func (p *ConcreteProduct) SetName(name string) { p.name = name } 

接下来,定义一个工厂接口:

type Factory interface { CreateProduct() Product } 

然后,实现具体的工厂:

type ConcreteFactory struct{} func (f *ConcreteFactory) CreateProduct() Product { return &ConcreteProduct{} } 

最后,可以使用工厂来创建产品:

func main() { factory := &ConcreteFactory{} product := factory.CreateProduct() product.SetName("Product A") fmt.Println(product.GetName()) // 输出:Product A } 

通过工厂模式,我们可以将对象的创建和使用分离开来,使得代码更加可扩展和灵活。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!