在 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"`
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3