Heim >Backend-Entwicklung >Golang >Wie gehe ich mit unerwarteten Feldern in fmt.Sprintf um?
In der Go-Programmierung wird die Funktion fmt.Sprintf zum Formatieren von Zeichenfolgen verwendet. Es tritt jedoch ein Problem auf, wenn die Eingabezeichenfolge unerwartete Felder enthält, was zu einer Panik führt.
Betrachten wir den folgenden Codeausschnitt:
<code class="go">package main import "fmt" func main() { tmp_str := "hello %s" str := fmt.Sprintf(tmp_str, "world") fmt.Println(str) }</code>
In diesem Beispiel , tmp_str ist eine Vorlagenzeichenfolge, die ein einzelnes Argument erwartet. Wenn das Programm jedoch eine vollständige Zeichenfolge wie „Hallo Freunde“ (anstelle einer Vorlage) empfängt, gerät fmt.Sprintf aufgrund des Vorhandenseins eines zusätzlichen Arguments in Panik. Die Fehlermeldung wäre:
Hello Friends%!(EXTRA string=world)
Ein Ansatz zur Lösung dieses Problems besteht darin, die Verwendung eines gültigen %s-Verbs in der Vorlagenzeichenfolge zu erzwingen. Benutzer können ein Platzhalterverb wie %.0s oder %.s angeben, um anzugeben, dass das Argument auf die Länge Null gekürzt wird, wenn kein passendes Feld vorhanden ist. Hier ist ein Beispiel:
<code class="go">tmp_str := "Hello Friends%.s"</code>
Bei Verwendung von %.s werden alle zusätzlichen Felder abgeschnitten, was zur gewünschten Ausgabe führt:
Hello Friends
Das obige ist der detaillierte Inhalt vonWie gehe ich mit unerwarteten Feldern in fmt.Sprintf um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!