Heim >Backend-Entwicklung >Golang >Wie übergebe ich in Go mehrere Rückgabewerte als Eingabeargumente?

Wie übergebe ich in Go mehrere Rückgabewerte als Eingabeargumente?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-29 18:17:02457Durchsuche

How to Pass Multiple Return Values as Input Arguments in Go?

Übergabe von Funktionsrückgabewerten als Eingabeargumente

Bei der Verwendung einer Funktion, die mehrere Werte zurückgibt, müssen bei der Verwendung ihrer Ausgabe bestimmte Richtlinien berücksichtigt werden als Eingabeargumente für eine andere Funktion. Im bereitgestellten Beispiel gibt die Funktion returnIntAndString() zwei Werte zurück, eine Ganzzahl (i) und eine Zeichenfolge (s).

Zunächst haben Sie die Funktion doSomething() erfolgreich mit den zurückgegebenen Werten von returnIntAndString() aufgerufen. unter Verwendung der Syntax doSomething(returnIntAndString()). Das Hinzufügen eines zusätzlichen Arguments zu doSomething() führt jedoch zu einem Kompilierungsfehler.

Gemäß der Go-Sprachspezifikation kann ein Funktionsaufruf, an dem eine Funktion beteiligt ist, die mehrere Werte zurückgibt, die Ausgabewerte nur an die Parameter der Zielfunktion binden wenn sie in Anzahl und Art übereinstimmen. Darüber hinaus können neben dem Funktionsaufruf keine Parameter übergeben werden.

Um den Kompilierungsfehler zu beheben, gibt es zwei Möglichkeiten:

  1. Geänderte Funktionssignatur: Passen Sie die an Signatur von doSomething() zur Ausrichtung auf die Rückgabewerte von returnIntAndString(). Dadurch entfällt die Notwendigkeit eines zusätzlichen Funktionsaufrufs.
  2. Zuweisung und separate Aufrufe: Weisen Sie die Rückgabewerte von returnIntAndString() einzelnen Variablen zu und übergeben Sie sie zusammen mit dem zusätzlichen Argument an doSomething() . Dieser Ansatz erfordert mehrere Funktionsaufrufe.

Wenn daher die in der Sprachspezifikation angegebenen Bedingungen nicht erfüllt sind, sind separate Zuweisungen und Funktionsaufrufe erforderlich, wenn Rückgabewerte einer Funktion mit mehreren Ausgängen als Eingabeargumente verwendet werden zu einer anderen Funktion.

Das obige ist der detaillierte Inhalt vonWie übergebe ich in Go mehrere Rückgabewerte als Eingabeargumente?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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