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
course content

Kursinhalt

Einführung in Golang

Einführung in Golang

1. Erste Schritte
2. Datentypen
3. Kontrollstrukturen
4. Funktionen
5. Arrays und Slices
6. Einführung in Strukturen & Maps

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

go

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:

go

index

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

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:

go

index

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

go

index

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 }

Nichtsdestotrotz ist es möglich, die return-Anweisung innerhalb von bedingten Strukturen zu verwenden, um selektiv Werte zurückzugeben:

go

index

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 wird die Ausgabe des folgenden Programms sein?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 4
Wir sind enttäuscht, dass etwas schief gelaufen ist. Was ist passiert?
some-alt