Wie gehe ich mit unerwarteten String-Vorlagen in fmt.Sprintf in Golang um?

Linda Hamilton
Freigeben: 2024-10-31 08:00:02
Original
770 Leute haben es durchsucht

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

Umgang mit unerwarteten String-Vorlagen in fmt.Sprintf

In Golang ist fmt.Sprintf eine häufige Funktion zum Formatieren von Strings. Obwohl es Flexibilität bietet, gibt es Szenarien, in denen es zu unerwartetem Verhalten kommen kann.

Ein solches Szenario ist, wenn ein Programm eine vollständige Zeichenfolge ohne Platzhalter an fmt.Sprintf übergibt. Betrachten Sie das folgende Beispiel:

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

func main() {
    tmp_str := "hello %s"
    str := fmt.Sprintf(tmp_str, "world")
    fmt.Println(str)
}</code>
Nach dem Login kopieren

Wenn das Programm anstelle einer Vorlage eine vollständige Zeichenfolge wie „Hallo Freunde“ empfängt, löst es eine Panik aus und gibt eine Fehlermeldung aus.

Verhindern des Unerwartet

Um dieses Problem zu mildern, können mehrere Ansätze in Betracht gezogen werden:

  • Platzhalter erforderlich: Erzwingen Sie die Verwendung von Platzhaltern (z. B. %s) in Zeichenfolgenvorlagen . Weisen Sie Benutzer an, die Zeichenfolge bei Bedarf auf die Länge Null zu kürzen:
Hello Friends%.0s
Nach dem Login kopieren

Dies führt zu einer einfachen Ausgabe:

Hello Friends
Nach dem Login kopieren
  • Verwenden Sie eine alternative Formatierung Techniken: Erwägen Sie die Verwendung alternativer Formatierungstechniken, die Nicht-Platzhalter-Strings eleganter verarbeiten, wie z. B. String-Verkettung ( ) oder die strings.Join-Funktion.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit unerwarteten String-Vorlagen in fmt.Sprintf in Golang um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage