您可以定义将接收方作为其第一个参数的函数类型(本质上就是方法)。type myFunc func(*State, Blah) error然后,您可以使用方法表达式来创建该类型的值:type Blah struct{}type State struct{}func (s *State) myF(Blah) error { return nil }var f myFunc = (*State).myF如果M在类型T的方法集中,则TM是可以作为常规函数调用的函数,该函数具有与M相同的参数,并以作为方法的接收者的附加参数为前缀。[...]表达方式T.Mv产生一个与Mv等效的函数,但第一个参数是显式接收器;它有签名func(tv T, a int) int