Heim > Artikel > Backend-Entwicklung > Wie gehe ich mit zusätzlichen Feldern in fmt.Sprintf um?
Verarbeitung zusätzlicher Felder in fmt.Sprintf
Problem:
Bei Verwendung von fmt.Sprintf zum Formatieren von Zeichenfolgen , können zusätzliche Felder zu Panikfehlern führen. Beispielsweise führen Versuche, vollständige Zeichenfolgen wie „Hallo Freunde“ mithilfe einer Zeichenfolgenvorlage wie „hello %s“ zu formatieren, zu Fehlern wie „Hallo Freunde%!(EXTRA string=world)“. Wie ignorieren wir zusätzliche Felder in fmt.Sprintf?
Lösung:
Während es keine direkte Möglichkeit gibt, zusätzliche Felder in fmt.Sprintf zu ignorieren, besteht ein Ansatz darin, ein bestimmtes Verb zu erzwingen Erfordernis. In diesem Fall können wir von Benutzern verlangen, dass sie in ihren Befehlszeilenargumenten immer ein %s-Verb angeben. Um Fälle ohne tatsächliche Formatierung zu verarbeiten, können Benutzer die Zeichenfolge auf die Länge Null kürzen:
<code class="go">Hello Friends%.0s</code>
Oder noch kürzer:
<code class="go">Hello Friends%.s</code>
Dadurch wird die einfache Ausgabe erzeugt:
Hello Friends
Durch die Einhaltung dieser Konvention können Sie Fehler vermeiden, die durch unerwartete zusätzliche Felder in der Sprintf-Formatzeichenfolge verursacht werden.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit zusätzlichen Feldern in fmt.Sprintf um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!