Wie kann ich in fmt.Sprintf-Formatzeichenfolgen mehrmals auf denselben Parameter verweisen?

Susan Sarandon
Freigeben: 2024-11-07 16:38:02
Original
730 Leute haben es durchsucht

How to Reference the Same Parameter Multiple Times in fmt.Sprintf Format Strings?

Mehrmals auf denselben Parameter in fmt.Sprintf-Formatzeichenfolgen verweisen

Im angegebenen Codeausschnitt haben Sie eine Funktion, die SQL-Befehle generiert um Tabellen mit fmt.Sprintf zu erstellen. Während der ursprüngliche Ansatz ausführlich ist, möchten Sie für eine bessere Zeichenfolgenformatierung nur einmal auf den v-Parameter verweisen.

Laut der Dokumentation für fmt.Sprintf:

In Printf, Sprintf und Fprintf, das Standardverhalten besteht darin, dass jedes Formatierungsverb aufeinanderfolgende Argumente formatiert, die im Aufruf übergeben werden. Die Notation [n] unmittelbar vor dem Verb gibt jedoch an, dass stattdessen das nte einindizierte Argument formatiert werden soll.

Das bedeutet, dass Sie die v-Variable einmal übergeben und verwenden können [n]-Notation zur Angabe des zu formatierenden Argumentindex. Ihre aktualisierte Funktion kann beispielsweise wie folgt aussehen:

func getTableCreationCommands(v string) string {
    return fmt.Sprintf(`
        CREATE TABLE share_%[1]v PARTITION OF share FOR VALUES IN (%[1]v);
        CREATE TABLE nearby_%[1]v PARTITION OF nearby FOR VALUES IN (%[1]v);
    `, v)
}
Nach dem Login kopieren

Hier weist %[1]v den Formatierer an, das erste Argument, das v ist, zweimal zu verwenden.

Um diese Funktion zu verwenden :

import "fmt"

func main() {
    s := "X"
    fmt.Println(getTableCreationCommands(s))
}
Nach dem Login kopieren

Ausgabe:

CREATE TABLE share_X PARTITION OF share FOR VALUES IN (X);
CREATE TABLE nearby_X PARTITION OF nearby FOR VALUES IN (X);
Nach dem Login kopieren

Dieser Ansatz bietet eine sauberere und präzisere Möglichkeit, Ihre SQL-Befehle mit mehreren Verweisen auf denselben Parameter zu formatieren.

Das obige ist der detaillierte Inhalt vonWie kann ich in fmt.Sprintf-Formatzeichenfolgen mehrmals auf denselben Parameter verweisen?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!