错误验证增加和重复

当我使用如下所示的有效全局变量时,我的错误验证会以某种方式重复


var (

    valid validation.Validation

)


func validationInit() validation.Validation {

    valid := validation.Validation{}

    return valid

}

但是当我转到valid := validation.Validation{}我的模型函数时,它可以正常工作,没有任何重复项,如下所示:


func AddClub(name string) (id int64, error []*validation.ValidationError) {

    club := Club{Name: name}

    valid := validation.Validation{}

我如何不能在每个函数中复制这个有效值,而是在不增加和复制结果的情况下重用变量?


大话西游666
浏览 157回答 1
1回答

慕的地10843

由于您的validationInit()func 返回一个validation.Validation 值而不是指向它的指针,因此您不能从多个函数或同一函数的多次调用中返回相同的全局变量。如果你真的想要这个,你必须返回一个指向全局变量的指针,否则将返回全局变量值的副本。例子:var valid validation.Validationfunc someFunc() *valid.Validation {    // You can access the global variable valid here, you can also modify it    return &valid}但这很可能不是您想要的。这将不允许您validation.Validation的函数同时返回2 个不同的值。我建议您忽略全局变量,validation.Validation每次需要时只创建一个新值并返回该新值(通过值或指向它的指针)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go