我只想將一些屬于“任何”結(jié)構(gòu)的方法傳遞給它們的接收者方法。這些是原型方法。func (r *Rules) Checker(fn ...func()) {}func (r *Rules) CheckEmpty() {}func (r *Rules) CheckMax() {}我想要的就在這里:v.Rule.Checker( v.Rule.CheckEmpty(), v.Rule.CheckMax(),)但我認為函數(shù)類型不相等,程序給出錯誤“type void type as type func()”。有沒有辦法按照我的意愿調(diào)用這些方法?
1 回答

蝴蝶不菲
TA貢獻1810條經(jīng)驗 獲得超4個贊
您想要將函數(shù)本身傳遞給Checker
,而不是函數(shù)調(diào)用的結(jié)果。為此,請刪除()
函數(shù)名稱后面的 ,這樣該函數(shù)就不會被調(diào)用:
v.Rule.Checker( v.Rule.CheckEmpty, v.Rule.CheckMax, )
- 1 回答
- 0 關(guān)注
- 155 瀏覽
添加回答
舉報
0/150
提交
取消