关于“方法”的一点困惑
1. 运行环境
vscode+go1.17
2. 问题描述?
在使用beego中的以下方法时
- func (v *Validation) Valid(obj interface{}) (b bool, err error)
看到别人在代码中重新写了Valid方法:func (f *PasswodModifyForm) Valid(validation *validation.Validation) {……}
3. 期望得到的结果?
实例化对象:
form:=&PasswodModifyForm{}
valid:=&validation.Validation{}
然后我觉得这样调用应该是没问题的:
form.Valid(valid)
4. 实际得到的结果?
但实际form.Valid(valid)的调用是失败的
使用
valid.Valid(form)的调用是成功的。
不明白为什么会是这样,如果能有讲解此处的文章推荐就更好了。
不能调用?,还是调用后的结果不对?,建议你贴下这里的代码