請問這種寫法在golang裡叫什麼設計模式?

frank發表於2016-12-23
package main

import "fmt"

type TestFunc func(*Bar, string)

type Bar struct {
    Name  string
    Alias string
}

func (t *Bar) SetName(name string) {
    t.Name = name
    fmt.Println("Name:", t.Name)
}

func (t *Bar) SetAlias(alias string) {
    t.Alias = alias
    fmt.Println("Alias:", t.Alias)
}

type Foo struct {
    f TestFunc
}

func main() {
    foo := new(Foo)
    bar := new(Bar)
    foo.f = (*Bar).SetName
    foo.f(bar, "LeBron Raymone James")
    foo.f = (*Bar).SetAlias
    foo.f(bar, "King")
}

更多原創文章乾貨分享,請關注公眾號
  • 請問這種寫法在golang裡叫什麼設計模式?
  • 加微信實戰群請加微信(註明:實戰群):gocnio

相關文章