Maison > développement back-end > Golang > le corps du texte

Comment gérer les modèles de chaînes inattendus dans fmt.Sprintf dans Golang ?

Linda Hamilton
Libérer: 2024-10-31 08:00:02
original
770 Les gens l'ont consulté

How to Handle Unexpected String Templates in fmt.Sprintf in Golang?

Gestion des modèles de chaînes inattendus dans fmt.Sprintf

Dans Golang, fmt.Sprintf est une fonction courante utilisée pour formater des chaînes. Bien qu'il offre de la flexibilité, il existe des scénarios dans lesquels il peut rencontrer un comportement inattendu.

L'un de ces scénarios est celui où un programme transmet une chaîne complète sans espaces réservés à fmt.Sprintf. Prenons l'exemple suivant :

<code class="go">import "fmt"

func main() {
    tmp_str := "hello %s"
    str := fmt.Sprintf(tmp_str, "world")
    fmt.Println(str)
}</code>
Copier après la connexion

Si le programme reçoit une chaîne complète telle que "Bonjour les amis" au lieu d'un modèle, il provoquera une panique et affichera un message d'erreur.

Empêcher le Inattendu

Pour atténuer ce problème, plusieurs approches peuvent être envisagées :

  • Exiger des espaces réservés : imposer l'utilisation d'espaces réservés (par exemple, %s) dans les modèles de chaînes . Demandez aux utilisateurs de tronquer la chaîne à une longueur nulle s'ils le souhaitent :
Hello Friends%.0s
Copier après la connexion

Cela donnera lieu à un résultat simple :

Hello Friends
Copier après la connexion
  • Utiliser un formatage alternatif techniques : envisagez d'utiliser des techniques de formatage alternatives qui gèrent plus gracieusement les chaînes non réservées, telles que la concaténation de chaînes ( ) ou la fonction strings.Join.

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