Maison > Article > développement back-end > Validation des paramètres de la fonction Golang et conversion du type de données
Le langage Go fournit des méthodes de vérification des paramètres et de conversion des types de données pour garantir la sécurité et la maintenabilité : Vérification des paramètres : utilisez des assertions pour vérifier si les conditions sont remplies et déclenchez une panique si elles ne le sont pas. Types d'erreur personnalisés pour indiquer les paramètres non valides et les renvoyer. Conversion de type de données : utilisez le package strconv pour convertir explicitement les chaînes en d'autres types. Effectuez automatiquement des conversions de types implicites lorsque les types sont compatibles. Ces techniques permettent de garantir la validité des paramètres de fonction et de convertir facilement les types de données, améliorant ainsi la fiabilité et la maintenabilité de votre code.
Dans le langage Go, la vérification des paramètres de fonction et la conversion du type de données sont des mesures de sécurité et de maintenabilité importantes. Ce didacticiel vous expliquera comment utiliser les outils intégrés et les méthodes personnalisées pour effectuer ces opérations efficacement.
Le langage Go ne fournit pas de mécanisme natif de validation des paramètres, mais il existe deux alternatives courantes :
func ValidateUser(name string, age int) { if name == "" { panic("name cannot be empty") } if age < 0 { panic("age cannot be negative") } }
type InvalidParameterError struct { param string msg string } func (e *InvalidParameterError) Error() string { return fmt.Sprintf("invalid parameter: %s - %s", e.param, e.msg) } func ValidateUser(name string, age int) error { if name == "" { return &InvalidParameterError{param: "name", msg: "cannot be empty"} } if age < 0 { return &InvalidParameterError{param: "age", msg: "cannot be negative"} } return nil }
Le langage Go prend en charge la conversion de type de données explicite et implicite.
strconv
pour convertir des chaînes en d'autres types. import "strconv" func ConvertAgeToInt(age string) (int, error) { return strconv.Atoi(age) }
func AddNumber(a, b int) int { // 隐式将 a 转换为 float64 return a + float64(b) }
Cas 1 : Validation des saisies utilisateur
Dans une application web, nous pouvons avoir besoin de valider les saisies utilisateur reçues depuis un formulaire.
func ValidateUserInput(name string, email string) error { if name == "" { return &InvalidParameterError{param: "name", msg: "cannot be empty"} } if _, err := mail.ParseAddress(email); err != nil { return &InvalidParameterError{param: "email", msg: "invalid email format"} } return nil }
Cas 2 : Conversion de type de données
Les données récupérées de la base de données peuvent être une chaîne, mais nous devrons peut-être les convertir en d'autres types pour le traitement.
func ConvertDuration(duration string) (time.Duration, error) { duration, err := strconv.ParseInt(duration, 10, 64) if err != nil { return 0, err } return time.Duration(duration) }
En utilisant ces techniques, vous pouvez garantir la validité des paramètres de fonction et convertir facilement les données en types requis, améliorant ainsi la fiabilité et la maintenabilité de votre code.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!