go-factory工厂模式样例

2023-12-13 07:02:26

目录

1、创建工厂模式样例:

2、调用工厂创建对象:


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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。