Heim > Backend-Entwicklung > Golang > Wie gehe ich mit zusätzlichen Feldern in fmt.Sprintf um?

Wie gehe ich mit zusätzlichen Feldern in fmt.Sprintf um?

DDD
Freigeben: 2024-11-01 16:44:31
Original
1037 Leute haben es durchsucht

How to Handle Extra Fields in fmt.Sprintf?

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>
Nach dem Login kopieren

Oder noch kürzer:

<code class="go">Hello Friends%.s</code>
Nach dem Login kopieren

Dadurch wird die einfache Ausgabe erzeugt:

Hello Friends
Nach dem Login kopieren

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!

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage