Gestion des erreurs personnalisable : une solution de préservation du type
Malgré le manque de génériques de Go, vous pouvez toujours réaliser une gestion des erreurs avec préservation du type. Considérez la fonction P() suivante :
<code class="go">func P(any interface{}, err error) (interface{}) { if err != nil { panic("error: " + err.Error()) } return any }</code>
Cependant, la conversion vers une interface vide () entraîne la perte d'informations de type. Pour résoudre ce problème, envisagez l'utilisation de la génération Go.
Approche basée sur la génération :
Vous pouvez générer des implémentations spécifiques de P() pour chaque type que vous devez gérer . Voici une liste de ressources pour vous guider :
En générant des fonctions P() concrètes, vous pouvez préserver les informations de type et simplifier la gestion des erreurs des fonctions lib.
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!