go-factory工厂模式样例

目录

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()
}

你可能感兴趣的:(go语言,golang,开发语言,后端)