Heim >Backend-Entwicklung >Golang >Wie kann ich eine einzelne Variable über mehrere Platzhalter in Gos fmt.Sprintf() wiederholen?

Wie kann ich eine einzelne Variable über mehrere Platzhalter in Gos fmt.Sprintf() wiederholen?

Susan Sarandon
Susan SarandonOriginal
2024-12-21 12:53:21826Durchsuche

How Can I Repeat a Single Variable Across Multiple Placeholders in Go's fmt.Sprintf()?

Variablenwerte in formatierten Zeichenfolgen mit Sprintf replizieren

In Go ermöglicht fmt.Sprintf() die Formatierung von Zeichenfolgen mithilfe von Platzhaltern durch die angegebenen Werte ersetzt. Während normalerweise jedem Platzhalter ein eindeutiger Wert zugewiesen wird, ist es oft wünschenswert, alle Platzhalter durch dieselbe Variable zu ersetzen.

Explizite Argumentindizierung

Um dies zu erreichen, verwendet fmt.Sprintf () verwendet eine explizite Argumentindizierung. Innerhalb der Formatzeichenfolge stellt die Platzierung von [n] vor einem Formatierungsverb sicher, dass das n-te Argument (indiziert von 1) anstelle der standardmäßigen aufsteigenden Reihenfolge formatiert wird. Ebenso gibt [n] vor einem * für Breite oder Genauigkeit das Argument an, das den angegebenen Wert enthält.

Beispielverwendung

Betrachten Sie das in der Frage bereitgestellte Beispiel:

val := "foo"
s := fmt.Sprintf("%v in %v is %v", val)

Um die Variable val über alle Platzhalter hinweg zu replizieren, ändern Sie die Formatzeichenfolge wie folgt folgt:

s := fmt.Sprintf("%[1]v in %[1]v is %[1]v", val)

Dies führt zur gewünschten Ausgabe:

"foo in foo is foo"

Vereinfachte Notation

Beachten Sie, dass das erste explizite Argument index sein kann wird wie standardmäßig weggelassen 1:

s := fmt.Sprintf("%v in %[1]v is %[1]v", val)

Fazit

Durch die Nutzung der expliziten Argumentindizierung kann fmt.Sprintf() verwendet werden, um einen einzelnen Variablenwert über alle Platzhalter in einem Format zu replizieren Zeichenfolge, die eine prägnante und effiziente Lösung für bestimmte Szenarien bietet.

Das obige ist der detaillierte Inhalt vonWie kann ich eine einzelne Variable über mehrere Platzhalter in Gos fmt.Sprintf() wiederholen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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