Ersetzen aller Sprintf-Variablen durch einen einzelnen Wert
Bei der Verwendung von fmt.Sprintf() zum Formatieren von Zeichenfolgen müssen häufig Variablen durch bestimmte ersetzt werden Werte. Was aber, wenn Sie alle Variablen durch denselben Wert ersetzen müssen?
fmt.Sprintf() kann dieses Szenario tatsächlich durch die Verwendung expliziter Argumentindizes bewältigen. Diese Indizes geben an, welches Argument für die Formatierung anstelle des standardmäßigen sequentiellen Verhaltens verwendet werden soll.
Zum Beispiel, um alle Variablen in der formatierten Zeichenfolge durch „foo“ zu ersetzen:
val := "foo" s := fmt.Sprintf("%[1]v in %[1]v is %[1]v", val)
Hier Beispielsweise wird vor jedem Formatverb der explizite Argumentindex [1] verwendet, der angibt, dass alle Variablen durch das erste Argument ersetzt werden sollten, das „foo“ ist. Die resultierende Zeichenfolge lautet:
"foo in foo is foo"
Hier ist die Aufschlüsselung der Syntax:
Sie können dies weiter vereinfachen, indem Sie den expliziten Argumentindex für die erste Variable weglassen, da dieser standardmäßig 1 ist:
fmt.Sprintf("%v in %[1]v is %[1]v", "foo")
Dieser Ansatz bietet eine bequeme Möglichkeit dazu Ersetzen Sie alle Variablen in Ihrer formatierten Zeichenfolge einheitlich durch einen einzelnen Wert.
Das obige ist der detaillierte Inhalt vonWie kann ich alle Variablen in fmt.Sprintf() durch einen einzelnen Wert ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!