go-factory工厂模式样例
2023-12-13 07:02:26
目录
1、创建工厂模式样例:
package go_model
import "fmt"
type Animal interface {
Run()
Eat()
}
type Monkey struct {
name string
age int
}
func (*Monkey) Eat(){
fmt.Println("猴子吃香蕉")
}
func (*Monkey) Run(){
fmt.Println("猴子跑起来")
}
type Cat struct {
name string
age int
}
func (*Cat) Eat(){
fmt.Println("猫吃猫粮")
}
func (*Cat) Run(){
fmt.Println("猫跑起来")
}
func NewAnimal(t string) Animal{
//具体逻辑根据实际使用调整,主要就是通过这个方法进行创建对象
switch t {
case "monkey":
return &Monkey{}
case "cat":
return &Cat{}
}
return nil
}
2、调用工厂创建对象:
package main
import(
animalfactory "go/test/go-model"
)
func main() {
//创建对象并使用方法
cat := animalfactory.NewAnimal("cat")
cat.Run()
cat.Eat()
monkey := animalfactory.NewAnimal("monkey")
monkey.Run()
monkey.Eat()
}
文章来源:https://blog.csdn.net/m0_37570494/article/details/134874543
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!