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

DDD
Freigeben: 2024-11-09 05:34:02
Original
346 Leute haben es durchsucht

How can I reference parameters multiple times in fmt.Sprintf format strings?

Mehrfaches Referenzieren von Parametern in fmt.Sprintf-Formatzeichenfolgen

In Ihrem Code haben Sie eine Funktion, die Tabellenerstellungsbefehle mit fmt erstellt. Sprintf. Sie möchten vermeiden, denselben Parameter mehrmals zu übergeben.

Lösung mit expliziter Argumentindizierung

Gemäß der Dokumentation für fmt.Printf und verwandte Funktionen können Sie explizit verwenden Argumentindizes zum Formatieren des n-ten Arguments:

func getTableCreationCommands(s 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);
    `, s)
}
Nach dem Login kopieren

In der Formatzeichenfolge bezieht sich %[1]v auf das erste Argument, s.

Beispiel

Hier ist ein Beispiel für diesen Ansatz:

package main

import "fmt"

func getTableCreationCommands(s 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);
    `, s)
}

func main() {
    fmt.Println(getTableCreationCommands("X"))
}
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

Durch die Verwendung expliziter Argumentindizes können Sie mehrmals auf denselben Parameter verweisen, ohne ihn separat zu übergeben.

Das obige ist der detaillierte Inhalt vonWie kann ich in fmt.Sprintf-Formatzeichenfolgen mehrmals auf 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage