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 ?
You want to pass the function itself to Checker
, and not the result of the function call. To do that, drop the ()
after the function name so the function is not being called:
v.Rule.Checker(
v.Rule.CheckEmpty,
v.Rule.CheckMax,
)