Kursinhalt
Einführung in Golang
Einführung in Golang
Rückgabewerte von Funktionen
Daten in Funktionen übergeben zu können, ist wertvoll, aber es ist ebenso vorteilhaft, Daten aus Funktionen abzurufen. Hier wird das return
-Schlüsselwort wesentlich.
Das return
-Schlüsselwort ermöglicht es Funktionen, Daten an den Punkt im Code zurückzusenden, an dem sie aufgerufen wurden. Hier ist die Syntax für eine Funktion mit einer return
-Anweisung:
Das data_to_be_returned
ist der Ort, an dem wir einen Ausdruck oder einen Wert angeben. Das returned_datatype
repräsentiert den erwarteten Datentyp für den Wert, der zurückgegeben wird. Dies wird durch ein Beispiel klarer.
Das folgende Programm veranschaulicht die Implementierung einer return
-Anweisung über eine Funktion, die sowohl die Summe als auch das Produkt von zwei gegebenen Ganzzahlargumenten berechnet und zurückgibt:
index
package main import "fmt" func myFunc(value_1 int, value_2 int) int { var sum int = value_1 + value_2 var prod int = value_1 * value_2 var result int = sum + prod return result } func main() { fmt.Println(myFunc(5, 7)) }
Bitte beachten Sie, dass wir innerhalb der Println
-Funktion myFunc(5, 7)
haben und das obige Programm die Ausgabe 47
erzeugt, die aus den Berechnungen der myFunc()
-Funktion resultiert. Dies zeigt, dass die return
-Anweisung spezifische Daten an die Stelle zurückgibt, an der die Funktion aufgerufen wurde. Zusätzlich können wir die zurückgegebenen Daten in einer Variablen speichern:
index
var returnedValue int = myFunc(5, 7) fmt.Println(returnedValue) // Outputs '47'
Hinweis
Eine Funktion benötigt keine Parameter, um eine
return
-Anweisung einzuschließen.
Eine Funktion kann keinen Code nach einer return-Anweisung enthalten, und typischerweise erlaubt Go keine mehrfachen return-Anweisungen:
index
// Function exits after the first return statement it encounters func exampleOne() int { return 1 return 2 // Will be ignored } // There cannot be any code after a return statement func exampleTwo() int { return 1 fmt.Println() // Error here }
Nichtsdestotrotz ist es möglich, die return
-Anweisung innerhalb von bedingten Strukturen zu verwenden, um selektiv Werte zurückzugeben:
index
package main import "fmt" func myFunc() string { if(1 > 2) { return "1 is greater than 2" } else { return "2 is greater than 1" } } func main() { fmt.Println(myFunc()) }
Danke für Ihr Feedback!