Éviter les vérifications répétitives d'erreur nulle dans Go
Dans Go, il est courant de vérifier les erreurs à la fin de chaque appel de fonction, comme le montre l'exemple suivant :
a, err := doA() if err != nil { return nil, err } b, err := doB(a) if err != nil { return nil, err } c, err := doC(b) if err != nil { return nil, err }
Bien que cette approche garantisse que les erreurs sont traitées correctement, elle peut devenir lourde et répétitif, surtout si le code de vérification des erreurs occupe plus de lignes que la logique réelle.
Résoudre le problème
Il existe plusieurs façons de résoudre ce problème :
1. Adoptez la répétition
Certains programmeurs affirment que la répétition n'est pas un inconvénient majeur et constitue un rappel précieux des chemins potentiels de gestion des erreurs.
2. Avantages de la vérification des erreurs
Contrairement aux exceptions, la vérification explicite des erreurs dans Go oblige les développeurs à prendre en compte les chemins d'erreur dès le départ, garantissant ainsi que la gestion des ressources est gérée de manière appropriée.
3 . Envisagez Panic/Recover
Dans certains contextes, panic et recovery peuvent être utilisés pour dérouler la logique récursive, mais il est recommandé de l'utiliser avec parcimonie.
4. Réorganisation du code
La réorganisation de la structure du code peut parfois réduire le besoin de vérifications d'erreurs répétitives.
err := doA() if err != nil { return err } return doB()
5. Résultats nommés (découragés)
L'utilisation de résultats nommés pour supprimer la variable err des instructions return peut compromettre la clarté du code et créer des problèmes potentiels.
6. Déclaration avant la condition If
Aller si les déclarations acceptent les déclarations avant la condition, permettant la vérification des erreurs en ligne :
if err := doA(); err != nil { return err }
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!