Golang设计模式之简单工厂模式

Jackey Golang 57 次浏览 , , 没有评论
package main

import "fmt"

// 中国人说, 你好
// 英国人说,hello

type API interface {
    Say(name string) string
}

func NewAPI(str string) API {
    if str == "en" {
        return &English{}
    } else if str == "cn" {
        return &Chinese{}
    } else {
        return nil
    }
}

type Chinese struct {
}

func (*Chinese) Say(name string) string {
    return "你好 " + name
}

type English struct {
}

func (*English) Say(name string) string {
    return "hello " + name
}

func main() {
    api := NewAPI("cn")
    server := api.Say("张三")
    fmt.Println(server)

    api1 := NewAPI("en")
    server1 := api1.Say("Jackey")
    fmt.Println(server1)
}

 

发表评论

邮箱地址不会被公开。 必填项已用*标注

Go