simple.go 453 B

12345678910111213141516171819202122232425262728293031
  1. package Simple_Factory
  2. import "fmt"
  3. //创造型模式
  4. //1.Simple Factory 简单工厂
  5. type People interface {
  6. Say(name string)
  7. }
  8. type Student struct {}
  9. func(*Student) Say(name string) {
  10. fmt.Printf("I am %s \n",name)
  11. }
  12. type Teacher struct {}
  13. func (*Teacher)Say(name string){
  14. fmt.Printf("I am %s \n",name)
  15. }
  16. func NewPeople(s string) People {
  17. if s == "student"{
  18. return &Student{}
  19. }
  20. if s == "teacher"{
  21. return &Teacher{}
  22. }
  23. return nil
  24. }