[Go] golang结构体成员与函数类型

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)
}

某些类的逻辑非常复杂,简化代码帮助理解下逻辑