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

Comment gérer les valeurs de remplacement manquantes dans fmt.Sprintf ?

Barbara Streisand
Libérer: 2024-10-31 11:04:01
original
825 Les gens l'ont consulté

How to Handle Missing Replacement Values in fmt.Sprintf?

Ignorer les champs excédentaires dans fmt.Sprintf

Considérons un scénario dans lequel un programme Go traite une chaîne entrée à partir de la ligne de commande et utilise fmt. Sprintf pour générer une chaîne formatée. Si l'entrée, représentée par tmp_str, contient des espaces réservés (par exemple, "%s") et que la valeur de remplacement qui l'accompagne n'est pas fournie, fmt.Sprintf générera une erreur avec le message "EXTRA string=world", où "world" est le remplacement manquant.

Pour résoudre ce problème et gérer avec élégance les situations dans lesquelles l'entrée peut manquer d'espaces réservés, une approche consiste à exiger que les utilisateurs de ligne de commande incluent systématiquement un espace réservé "%s". Cela garantit que même lorsqu'aucune valeur n'est attribuée à l'espace réservé, le programme évite une panique. Tronquer la chaîne à une longueur nulle, comme le montre l'exemple suivant, supprimera toute sortie associée à l'espace réservé :

<code class="go">package main

import "fmt"

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

Sortie :

Hello Friends
Copier après la connexion

En utilisant cette stratégie, le programme peut ignorer tous les champs de remplacement excédentaires transmis à fmt.Sprintf et maintenir un comportement stable.

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