亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

錯誤驗證增加和重復

錯誤驗證增加和重復

Go
大話西游666 2021-09-10 20:43:39
當我使用如下所示的有效全局變量時,我的錯誤驗證會以某種方式重復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{}我如何不能在每個函數中復制這個有效值,而是在不增加和復制結果的情況下重用變量?
查看完整描述

1 回答

?
慕的地10843

TA貢獻1785條經驗 獲得超8個贊

由于您的validationInit()func 返回一個validation.Validation 值而不是指向它的指針,因此您不能從多個函數或同一函數的多次調用中返回相同的全局變量。


如果你真的想要這個,你必須返回一個指向全局變量的指針,否則將返回全局變量值的副本。


例子:


var valid validation.Validation


func someFunc() *valid.Validation {

    // You can access the global variable valid here, you can also modify it

    return &valid

}

但這很可能不是您想要的。這將不允許您validation.Validation的函數同時返回2 個不同的值。


我建議您忽略全局變量,validation.Validation每次需要時只創建一個新值并返回該新值(通過值或指向它的指針)。


查看完整回答
反對 回復 2021-09-10
  • 1 回答
  • 0 關注
  • 177 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號