package main import () import ( "fmt" "reflect" "errors" ) type age int type userFunc func(name string) error func (fn *userFunc)String() string { return "我是函数你String个毛" } func main() { var fn userFunc = * new(userFunc) fn = func(name string) error { fmt.Println("参数是:", name) return errors.New("。。。。oh shit 函数也能new。。。。还能当类型") } fmt.Println(fn("oh no!no!no!")) fmt.Println(reflect.TypeOf(&fn)) }
//~output:
参数是: oh no!no!no!
。。。。oh shit 函数也能new。。。。还能当类型
*main.userFunc
Go语言中的函数可以当作一个类型。
有疑问加站长微信联系(非本文作者)