Maison  >  Article  >  développement back-end  >  Comment gérer les champs supplémentaires dans fmt.Sprintf ?

Comment gérer les champs supplémentaires dans fmt.Sprintf ?

DDD
DDDoriginal
2024-11-01 16:44:31938parcourir

How to Handle Extra Fields in fmt.Sprintf?

Gestion des champs supplémentaires dans fmt.Sprintf

Problème :
Lors de l'utilisation de fmt.Sprintf pour formater des chaînes , des champs supplémentaires peuvent provoquer des erreurs de panique. Par exemple, les tentatives de formatage de chaînes complètes telles que "Hello Friends" à l'aide d'un modèle de chaîne tel que "hello %s" entraînent des erreurs telles que "Hello Friends%!(EXTRA string=world)". Comment ignorer les champs supplémentaires dans fmt.Sprintf ?

Solution :
Bien qu'il n'existe aucun moyen direct d'ignorer les champs supplémentaires dans fmt.Sprintf, une approche consiste à appliquer un verbe spécifique exigence. Dans ce cas, nous pouvons demander aux utilisateurs de toujours fournir un verbe %s dans leurs arguments de ligne de commande. Pour gérer les cas sans formatage réel, les utilisateurs peuvent tronquer la chaîne à une longueur nulle :

<code class="go">Hello Friends%.0s</code>

Ou, encore plus court :

<code class="go">Hello Friends%.s</code>

Cela produira le résultat brut :

Hello Friends

En adhérant à cette convention, vous pouvez éviter les erreurs causées par des champs supplémentaires inattendus dans la chaîne de format 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!

Déclaration:
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