dsigh7478
2019-08-15 13:32
浏览 116
已采纳

如何在Go中将方法作为参数传递?

i just want to pass some methods that they belongs to 'any' struct to their receiver method.

These are prototype methods.

func (r *Rules) Checker(fn ...func()) {}
func (r *Rules) CheckEmpty() {}
func (r *Rules) CheckMax()  {}

and what i want is here:

v.Rule.Checker(
    v.Rule.CheckEmpty(),
    v.Rule.CheckMax(),
)

But i think function types are not equal and the program giving me error 'type void type as type func()'. Is there a way to call these methods as i wanted to ?

图片转代码服务由CSDN问答提供 功能建议

我只想将属于“ any”结构的某些方法传递给接收方方法。</ p>

这些是原型方法。</ p>

  func(r * Rules)Checker(fn ... func(  )){} 
func(r *规则)CheckEmpty(){} 
func(r *规则)CheckMax(){} 
 </ code> </ pre> 
 
 

,我想要的是 此处:</ p>

  v.Rule.Checker(
 v.Rule.CheckEmpty(),
 v.Rule.CheckMax(  ),
)
 </ code> </ pre> 
 
 

但是我认为函数类型不相等,并且程序给我错误'类型无效类型为func()类型'。 一种我想调用的方法的方法?</ p> </ div>

1条回答 默认 最新

相关推荐 更多相似问题