Heim > Backend-Entwicklung > Golang > Wie kann ich benannte Funktionsargumente in Go simulieren?

Wie kann ich benannte Funktionsargumente in Go simulieren?

Mary-Kate Olsen
Freigeben: 2024-12-26 13:00:14
Original
357 Leute haben es durchsucht

How Can I Simulate Named Function Arguments in Go?

Übergabe von Funktionsargumenten nach Feldnamen

In Go erfordern Funktionsaufrufe, dass Argumente in derselben Reihenfolge wie die Funktionsparameter aufgelistet werden. Möglicherweise möchten Sie Argumente jedoch lieber explizit über ihre Namen angeben, etwa so:

MyFunction(name: "Bob", address: "New York", nick: "Builder", age: 30, value: 1000)
Nach dem Login kopieren

Nicht benannte Argumente werden nicht unterstützt

Leider unterstützt Go keine benannten Argumente für Funktionen. Wie in der Go-Spezifikation erwähnt, müssen Sie Werte in der erwarteten Reihenfolge für alle nicht-variadischen Parameter angeben.

Option 1: Verwenden Sie einen Struktur-Wrapper

Um benannte zu imitieren Argumente können Sie eine Struktur erstellen, die die Funktionsparameter umschließt:

type Params struct {
    name, address, nick string
    age, value          int
}

func MyFunction(p Params) {
    // perform some operations using p.name, p.address, etc.
}

func main() {
    MyFunction(Params{
        name:    "Bob",
        address: "New York",
        nick:    "Builder",
        age:     30,
        value:   1000,
    })
}
Nach dem Login kopieren

Option 2: Verwenden Sie einen Helfer Funktion

Wenn Sie die Originalfunktion nicht ändern können, erstellen Sie eine Hilfsfunktion, die einen Strukturparameter übernimmt und die Originalfunktion mit den entsprechenden Feldern als Argumente aufruft.

func MyFunction2(p Params) {
    MyFunction(p.name, p.address, p.nick, p.age, p.value)
}

func main() {
    MyFunction2(Params{
        name:    "Bob",
        address: "New York",
        nick:    "Builder",
        age:     30,
        value:   1000,
    })
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich benannte Funktionsargumente in Go simulieren?. 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