Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Rückgabewerte von Funktionen | Funktionen
Einführung in Golang

bookRü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

index.go

copy
1234567891011121314
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)) }

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

index.go

copy
12
var 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

index.go

copy
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

index.go

copy
123456789101112131415
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()) }
question mark

Was ist die Ausgabe des folgenden Programms?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 4

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Awesome!

Completion rate improved to 1.96

bookRü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

index.go

copy
1234567891011121314
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)) }

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

index.go

copy
12
var 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

index.go

copy
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

index.go

copy
123456789101112131415
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()) }
question mark

Was ist die Ausgabe des folgenden Programms?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 4
some-alt