- package main
- import (
- "fmt"
- )
- type SchoolGirl struct {
- name string
- }
- func (s *SchoolGirl) setName(name string) {
- s.name = name
- }
- func (s *SchoolGirl) getName() string {
- return s.name
- }
- type Proxy struct {
- gg Pursuit
- }
- func NewProxy(mm SchoolGirl) *Proxy {
- gg := Pursuit{mm}
- return &Proxy{gg}
- }
- func (p *Proxy) giveDolls() {
- p.gg.giveDolls()
- }
- func (p *Proxy) giveFlowers() {
- p.gg.giveFlowers()
- }
- func (p *Proxy) giveChocolate() {
- p.gg.giveChocolate()
- }
- type GiveGift interface {
- giveDolls()
- giveFlowers()
- giveChocolate()
- }
- type Pursuit struct {
- mm SchoolGirl
- }
- func (p *Pursuit) giveDolls() {
- fmt.Println(p.mm.name, "送你洋娃娃")
- }
- func (p *Pursuit) giveFlowers() {
- fmt.Println(p.mm.name, "送你鲜花")
- }
- func (p *Pursuit) giveChocolate() {
- fmt.Println(p.mm.name, "送你巧克力")
- }
- func main() {
- jiaojiao := SchoolGirl{}
- jiaojiao.setName("李娇娇")
- daili := NewProxy(jiaojiao)
- daili.giveDolls()
- daili.giveFlowers()
- daili.giveChocolate()
- }
- //该片段来自于http://www.codesnippet.cn/detail/270320149174.html
来源: http://www.codesnippet.cn/detail/270320149174.html