Rückgabewerte von Funktionen
Daten an Funktionen übergeben zu können, ist nützlich, aber ebenso vorteilhaft ist es, Daten aus Funktionen zurückzuerhalten. Hier wird das Schlüsselwort return wesentlich.
Das Schlüsselwort return ermöglicht es Funktionen, Daten an die Stelle im Code zurückzugeben, an der sie aufgerufen wurden. Hier ist die Syntax für eine Funktion mit einer return-Anweisung:
func functionName(param_1 datatype, param_2 datatype, ...) return_datatype {
// Code
return data_to_be_returned
}
Mit data_to_be_returned wird ein Ausdruck oder Wert angegeben. Der returned_datatype steht für den erwarteten Datentyp des zurückgegebenen Werts. Dies wird anhand eines Beispiels deutlicher.
Das folgende Programm veranschaulicht die Implementierung einer return-Anweisung anhand einer Funktion, die sowohl die Summe als auch das Produkt zweier übergebener Ganzzahlen berechnet und zurückgibt:
index.go
1234567891011121314package 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)) }
Beachten Sie, dass innerhalb der Funktion Println der Ausdruck myFunc(5, 7) verwendet wird und das obige Programm die Ausgabe 47 erzeugt, was auf den Berechnungen der Funktion myFunc() basiert. Dies zeigt, dass die return-Anweisung bestimmte 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.go
12var returnedValue int = myFunc(5, 7) fmt.Println(returnedValue) // Outputs '47'
Hinweis
Eine Funktion benötigt keine Parameter, um eine
return-Anweisung zu enthalten.
Eine Funktion darf nach einer return-Anweisung keinen weiteren Code enthalten, und in der Regel erlaubt Go keine mehrfachen return-Anweisungen:
index.go
1234567891011// 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 }
Dennoch ist es möglich, die return-Anweisung innerhalb von Kontrollstrukturen zu verwenden, um selektiv Werte zurückzugeben:
index.go
123456789101112131415package 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!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you show an example of a function using the return statement in Go?
What happens if I try to put code after a return statement in a Go function?
Can a Go function return multiple values?
Awesome!
Completion rate improved to 1.96
Rückgabewerte von Funktionen
Swipe um das Menü anzuzeigen
Daten an Funktionen übergeben zu können, ist nützlich, aber ebenso vorteilhaft ist es, Daten aus Funktionen zurückzuerhalten. Hier wird das Schlüsselwort return wesentlich.
Das Schlüsselwort return ermöglicht es Funktionen, Daten an die Stelle im Code zurückzugeben, an der sie aufgerufen wurden. Hier ist die Syntax für eine Funktion mit einer return-Anweisung:
func functionName(param_1 datatype, param_2 datatype, ...) return_datatype {
// Code
return data_to_be_returned
}
Mit data_to_be_returned wird ein Ausdruck oder Wert angegeben. Der returned_datatype steht für den erwarteten Datentyp des zurückgegebenen Werts. Dies wird anhand eines Beispiels deutlicher.
Das folgende Programm veranschaulicht die Implementierung einer return-Anweisung anhand einer Funktion, die sowohl die Summe als auch das Produkt zweier übergebener Ganzzahlen berechnet und zurückgibt:
index.go
1234567891011121314package 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)) }
Beachten Sie, dass innerhalb der Funktion Println der Ausdruck myFunc(5, 7) verwendet wird und das obige Programm die Ausgabe 47 erzeugt, was auf den Berechnungen der Funktion myFunc() basiert. Dies zeigt, dass die return-Anweisung bestimmte 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.go
12var returnedValue int = myFunc(5, 7) fmt.Println(returnedValue) // Outputs '47'
Hinweis
Eine Funktion benötigt keine Parameter, um eine
return-Anweisung zu enthalten.
Eine Funktion darf nach einer return-Anweisung keinen weiteren Code enthalten, und in der Regel erlaubt Go keine mehrfachen return-Anweisungen:
index.go
1234567891011// 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 }
Dennoch ist es möglich, die return-Anweisung innerhalb von Kontrollstrukturen zu verwenden, um selektiv Werte zurückzugeben:
index.go
123456789101112131415package 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!