package main
import (
"fmt"
)
//定義一個類型
type tsh struct {
//定義成員,類型是func() string
test func() string
}
//定義一個函數,獲取tsh類型
func New(fn func() string) *tsh {
return &tsh{
test: fn,
}
}
func cre() string {
return fmt.Sprintf("%s,來了", "tsh")
}
func main() {
//new完得到tsh類型,調用該結構體的test成員,該成員是個函數
res := New(cre).test()
fmt.Println(res)
}
某些類的邏輯非常復雜,簡化代碼幫助理解下邏輯
