"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo simplificar la validación de estructuras en Go: enfoque idiomático frente a \"go-validator\"?

¿Cómo simplificar la validación de estructuras en Go: enfoque idiomático frente a \"go-validator\"?

Publicado el 2024-11-09
Navegar:974

How to Simplify Struct Validation in Go: Idiomatic Approach vs. \

Validación de estructuras en Go

Verificar la validez de los valores de las estructuras es una tarea crucial en el desarrollo de software. Cuando se trata de numerosas estructuras pequeñas, comprobar individualmente cada campo puede resultar engorroso. Exploremos el enfoque idiomático y una solución alternativa para validar estructuras.

Validación idiomática

El ejemplo proporcionado es un enfoque común para validar estructuras. Cada campo se verifica individualmente utilizando los métodos de la estructura. Sin embargo, este método se vuelve tedioso a medida que crece el número de campos o estructuras.

Solución alternativa

La comunidad Go ha desarrollado varios paquetes para simplificar el proceso de validación. Uno de esos paquetes es el popular "go-validator" (https://github.com/go-validator/validator).

Con este paquete, puede definir reglas de validación para cada campo usando etiquetas dentro de la estructura. definición. Luego, el validador verifica automáticamente los valores con las reglas definidas.

Ejemplo

Considere la siguiente estructura con reglas de validación:

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"`
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3