在 Go 中驗證結構體
驗證結構體值的有效性是軟體開發中的關鍵任務。當處理大量小結構時,單獨檢查每個欄位可能會很麻煩。讓我們探討一下驗證結構的慣用方法和替代解決方案。
慣用驗證
提供的範例是驗證結構的常見方法。使用結構體的方法單獨檢查每個欄位。然而,隨著字段或結構體數量的增加,這種方法變得乏味。
替代解決方案
Go社區開發了各種包來簡化驗證過程。其中一個包是流行的“go-validator”(https://github.com/go-validator/validator)。
使用此包,您可以使用結構中的標籤為每個欄位定義驗證規則定義。然後,驗證器會根據定義的規則自動檢查值。
範例
考慮以下具有驗證規則的結構:
import "github.com/go-validator/validator"
type Event struct {
Id int `validator:"min=1"`
UserId int `validator:"min=1"`
Start string `validator:"datetime"`
End string `validator:"datetime"`
考慮以下具有驗證規則的結構:
import " github.com/go-validator/validator” 類型事件結構體{ Id int `驗證器:"min=1"` UserId int `驗證器:"min=1"` 開始字串 `validator:"datetime"` 結束字串 `validator:"datetime"`
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3