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 ?

  • 写回答

1条回答

      报告相同问题?

      相关推荐 更多相似问题

      悬赏问题

      • ¥15 安装PyQt5的时候这里创建虚拟环境是哪里?具体是怎么的?能录个视频吗
      • ¥20 php程序设计题不会!求解答!
      • ¥15 vivado两个时钟TNS为负值
      • ¥50 关于#python#的问题,如何解决?
      • ¥15 关于git的一些问题
      • ¥15 有关python的问题
      • ¥15 vs2010 重新生成项目时显示Keycode不能为NULL
      • ¥15 用MATLAB解决问题,需要代码
      • ¥45 关于C语言设计井字棋游戏问题的实现
      • ¥20 vuforia的Unity3D开发,模型附上特效后大量报错