package factoryMethod
import "fmt"
type Car interface {
Run()
}
type AudiCar struct {
}
type BydCar struct {
}
func (this *AudiCar) Run(){
fmt.Println("Audi is Running")
}
func (this *BydCar) Run(){
fmt.Println("Byd is Running")
}
//工厂方法接口
type CarFactory interface {
CreateCar() Car
}
type AudiFactory struct {
}
type BydFactory struct {
}
func (this *AudiFactory) CreateCar() Car {
return &AudiCar{}
}
func (this *BydFactory) CreateCar() Car{
return &BydCar{}
}
//client code
package factoryMethod
import(
"testing"
)
func TestCaFactory(t *testing.T) {
var c1 Car = (&AudiFactory{}).CreateCar()
var c2 Car = (&BydFactory{}).CreateCar()
c1.Run()
c2.Run()
}
2工厂方法模式-golang
最新推荐文章于 2025-11-30 13:50:10 发布
本文介绍了一种使用Go语言实现的简单工厂模式示例。通过定义一个汽车接口和两个具体实现(Audi与Byd),展示了如何利用工厂方法创建不同类型的对象。此外还提供了测试函数来验证创建过程。
1万+

被折叠的 条评论
为什么被折叠?



