Maison > développement back-end > Golang > Comment formater correctement les erreurs avec des arguments variables dans Go ?

Comment formater correctement les erreurs avec des arguments variables dans Go ?

Patricia Arquette
Libérer: 2024-11-06 03:39:02
original
850 Les gens l'ont consulté

How to Correctly Format Errors with Variable Arguments in Go?

Erreurs de formatage : alternative aux erreurs.Nouveau avec les arguments variables

Dans le but d'améliorer la gestion des erreurs, les utilisateurs peuvent chercher à créer une version personnalisée des erreurs.Nouveau fonction qui accepte plusieurs arguments, imitant le comportement de fmt.Sprintf. Bien que des tentatives aient été faites, des difficultés surviennent lors de l'interprétation correcte des arguments variables au sein de la fonction personnalisée. Cet article explore la solution et fournit des conseils sur la mise en œuvre d'un mécanisme de formatage d'erreur robuste.

Une de ces tentatives consiste à définir une fonction comme suit :

<code class="go">func NewError(format string, a ...interface{}) error {
    return errors.New(fmt.Sprintf(format, a))
}</code>
Copier après la connexion

Cependant, cette approche échoue lorsqu'on tente de transmettez les arguments de la variable à fmt.Sprintf, ce qui fait que les arguments sont traités comme un seul tableau. Pour résoudre ce problème, il est essentiel d'utiliser l'opérateur ... après les arguments variables (a) dans la fonction personnalisée, comme démontré dans le code corrigé ci-dessous :

<code class="go">func NewError(format string, a ...interface{}) error {
    return errors.New(fmt.Sprintf(format, a...))
}</code>
Copier après la connexion

En employant le ... opérateur, fmt.Sprintf peut interpréter correctement les arguments de la variable et formater la chaîne en conséquence. Cela permet aux utilisateurs de créer des fonctions de formatage d'erreur personnalisées qui exploitent les puissantes capacités de formatage de fmt.Sprintf.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal