Heim > Backend-Entwicklung > Golang > Wie kann ich alle Variablen in fmt.Sprintf() durch denselben Wert ersetzen?

Wie kann ich alle Variablen in fmt.Sprintf() durch denselben Wert ersetzen?

Barbara Streisand
Freigeben: 2024-12-13 10:09:10
Original
265 Leute haben es durchsucht

How Can I Replace All Variables in fmt.Sprintf() with the Same Value?

Einzelne Variablen in Sprintf durch denselben Wert ersetzen

In fmt.Sprintf() können Argumentindizes explizit mit der Notation [n.] angegeben werden ], wodurch verschiedene Variablen an unterschiedlichen Positionen in der formatierten Zeichenfolge ersetzt werden können. Die Verwendung dieses Ansatzes zum Ersetzen aller Variablen durch denselben Wert erfordert jedoch eine geringfügige Änderung der Formatzeichenfolge.

Lösung:

Anstatt sich auf aufeinanderfolgende Argumente zu verlassen, verwenden Sie Argumentindizes in Klammern vor jedem Formatierungsverb, um anzugeben, dass dasselbe Argument verwendet werden soll:

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

Diese Formatzeichenfolge gibt an, dass Argumentindex 1 verwendet werden soll für alle drei Formatierungsverben, was zu Folgendem führt:

"foo in foo is foo"
Nach dem Login kopieren

Vereinfachte Optionen:

Der erste explizite Argumentindex kann weggelassen werden, da er standardmäßig 1 ist:

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

Zusätzlich können die Klammern und der Argumentindex zu einem einzigen zusammengefasst werden string:

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

Fazit:

Durch die Verwendung expliziter Argumentindizes ist es möglich, alle Variablen in fmt.Sprintf() durch denselben Wert zu ersetzen, vorausgesetzt größere Flexibilität bei der Formatierung von Zeichenfolgen.

Das obige ist der detaillierte Inhalt vonWie kann ich alle Variablen in fmt.Sprintf() 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