Heim > Backend-Entwicklung > Golang > Wie kann ich alle Variablen in einem Go Sprintf-String durch denselben Wert ersetzen?

Wie kann ich alle Variablen in einem Go Sprintf-String durch denselben Wert ersetzen?

Linda Hamilton
Freigeben: 2024-12-13 05:32:09
Original
130 Leute haben es durchsucht

How Can I Replace All Variables in a Go Sprintf String with the Same Value?

Verwendung von Sprintf mit Ersetzung identischer Werte

In Sprintf ist die Möglichkeit, alle Variablen in der formatierten Zeichenfolge durch denselben Wert zu ersetzen, möglich, aber erfordert eine Änderung der Formatzeichenfolge.

Explizites Argument Indizes

Der Schlüssel besteht darin, vor jedem Formatierungsverb explizite Argumentindizes zu verwenden. Dadurch können Sie angeben, welches Argument für diese bestimmte Ersetzung verwendet werden soll. In Printf, Sprintf und Fprintf besteht das Standardverhalten darin, die übergebenen Argumente nacheinander zu verwenden. Mit expliziten Argumentindizes, gekennzeichnet durch [n], können Sie jedoch einen bestimmten Argumentindex auswählen.

Beispiel

Betrachten Sie das folgende Beispiel:

val := "foo"
s := fmt.Sprintf("%[1]v in %[1]v is %[1]v", val)
fmt.Println(s)
Nach dem Login kopieren

Hier verwenden wir den expliziten Argumentindex [1] vor jedem Formatierungsverb. Dies weist Sprintf an, das erste Argument, d. h. val, für alle drei Ersetzungen zu verwenden. Als Ergebnis lautet die Ausgabe:

foo in foo is foo
Nach dem Login kopieren

Einzeilige Vereinfachung

Das obige Beispiel kann auf eine einzelne Zeile vereinfacht werden:

fmt.Printf("%[1]v in %[1]v is %[1]v", "foo")
Nach dem Login kopieren

Ersten Index weglassen

Darüber hinaus können Sie das erste explizite Argument weglassen Index, da er automatisch auf 1 gesetzt ist:

fmt.Printf("%v in %[1]v is %[1]v", "foo")
Nach dem Login kopieren

Durch das Verständnis expliziter Argumentindizes können Sie denselben Wert für mehrere Ersetzungen in Sprintf angeben, unabhängig von der Anzahl der Formatspezifizierer.

Das obige ist der detaillierte Inhalt vonWie kann ich alle Variablen in einem Go Sprintf-String durch denselben Wert ersetzen?. 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