Heim > Backend-Entwicklung > Golang > Warum erhalte ich in Go die Meldung „Nicht genügend Argumente beim Aufruf des Methodenausdrucks'?

Warum erhalte ich in Go die Meldung „Nicht genügend Argumente beim Aufruf des Methodenausdrucks'?

DDD
Freigeben: 2024-11-08 16:46:02
Original
1046 Leute haben es durchsucht

Why am I getting

Informationen zu „Nicht genügend Argumente im Call-to-Methodenausdruck“ in Go

In Go wird die Fehlermeldung „Nicht genügend Argumente im Aufruf von“ angezeigt „Methodenausdruck“ kann auftreten, wenn versucht wird, eine Methode falsch aufzurufen. Eine Methode ist eine Funktion, die einem bestimmten Typ zugeordnet ist und mit der entsprechenden Syntax aufgerufen werden muss.

Beachten Sie den folgenden Codeausschnitt:

package main

type Schema struct {
}

type JSONParser struct {
}

func (jsonParser JSONParser) Parse(toParse []byte) ([]Schema, int) {
    var schema []Schema
    // whatever parsing logic
    return schema, 0
}

func main() {
    var in []byte
    actual, err2 := JSONParser.Parse(in)
}
Nach dem Login kopieren

Beim Ausführen dieses Codes kann Folgendes auftreten der Fehler „Nicht genügend Argumente im Aufruf des Methodenausdrucks“. Dies liegt daran, dass JSONParser.Parse eine Instanzmethode ist, was bedeutet, dass sie für eine bestimmte Instanz des Typs JSONParser aufgerufen werden muss.

Um diesen Fehler zu beheben, müssen Sie zunächst eine Instanz des Typs JSONParser erstellen. Dies kann erreicht werden, indem eine Variable dieses Typs deklariert und ihr der entsprechende Wert zugewiesen wird. Beispielsweise könnten Sie die Hauptfunktion wie folgt umschreiben:

func main() {
    var in []byte
    jp := JSONParser{}
    actual, err2 := jp.Parse(in)
}
Nach dem Login kopieren

Wenn Sie nun die Parse-Methode aufrufen, verwenden Sie die richtige Syntax, da Sie eine Instanz des JSONParser-Typs (jp) zum Aufrufen bereitstellen die Methode an.

Denken Sie daran, dass es beim Aufrufen von Instanzmethoden unbedingt erforderlich ist, zuerst eine Instanz des Typs zu erstellen. Wenn Sie versuchen, eine Instanzmethode ohne Instanz aufzurufen, wird der Fehler „Nicht genügend Argumente im Aufruf des Methodenausdrucks“ auftreten.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in Go die Meldung „Nicht genügend Argumente beim Aufruf des Methodenausdrucks'?. 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