Heim >Backend-Entwicklung >Golang >Wie kann ich fmt.Sprintf-kompatible Syntax mit Fehlern verwenden.Neu?
Formatierte Fehler mit fmt.Sprintf-kompatibler Syntax
Um eine Version von Fehlern bereitzustellen. Neue akzeptierende fmt.Sprintf-ähnliche Parameter, a Eine benutzerdefinierte Funktion kann wie folgt definiert werden:
<code class="go">func NewError(format string, a ...interface{}) error { return errors.New(fmt.Sprintf(format, a)) }</code>
Bei dieser Implementierung tritt jedoch ein Problem auf, bei dem das Variadic-Argument a als einzelner Array-Parameter behandelt wird, was zu Problemen bei der Formatierung führt.
Zu beheben Dabei muss sichergestellt werden, dass a als variable Anzahl von Argumenten interpretiert wird. Dies kann erreicht werden, indem die Drei-Punkte-Notation verwendet wird ... und sichergestellt wird, dass fmt.Sprintf sich der Variadizität des a-Arguments bewusst ist:
<code class="go">func NewError(format string, a ...interface{}) error { return errors.New(fmt.Sprintf(format, a...)) }</code>
Durch Hinzufügen der drei Punkte zum a-Argument , die benutzerdefinierte NewError-Funktion kann Fehlermeldungen jetzt mithilfe der fmt.Sprintf-kompatiblen Syntax korrekt formatieren.
Das obige ist der detaillierte Inhalt vonWie kann ich fmt.Sprintf-kompatible Syntax mit Fehlern verwenden.Neu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!