Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Returnwaarden van Functies | Functies
Introductie tot Golang

bookReturnwaarden van Functies

Het kunnen doorgeven van gegevens aan functies is waardevol, maar het is even voordelig om gegevens uit functies op te halen. Hiervoor is het sleutelwoord return essentieel.

Het sleutelwoord return stelt functies in staat om gegevens terug te sturen naar het punt in de code waar ze zijn aangeroepen. Hier volgt de syntaxis voor een functie met een return-instructie:

func functionName(param_1 datatype, param_2 datatype, ...) return_datatype {
      // Code
     
      return data_to_be_returned
}

De data_to_be_returned is waar we een expressie of waarde opgeven. Het returned_datatype geeft het verwachte gegevenstype aan voor de waarde die zal worden geretourneerd. Dit wordt duidelijker aan de hand van een voorbeeld.

Het volgende programma toont de implementatie van een return-instructie via een functie die zowel de som als het product van twee opgegeven gehele getallen berekent en retourneert:

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

Let op dat binnen de functie Println de uitdrukking myFunc(5, 7) wordt gebruikt, en het bovenstaande programma geeft de uitvoer 47, wat het resultaat is van de berekeningen uitgevoerd door de functie myFunc(). Dit toont aan dat de return-instructie specifieke gegevens teruggeeft naar de locatie waar de functie is aangeroepen. Daarnaast kunnen we de geretourneerde gegevens opslaan in een variabele:

index.go

index.go

copy
12
var returnedValue int = myFunc(5, 7) fmt.Println(returnedValue) // Outputs '47'

Opmerking

Een functie heeft geen parameters nodig om een return-instructie op te nemen.

Een functie mag geen code bevatten na een return-instructie, en doorgaans staat Go niet meerdere return-instructies toe:

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 }

Toch is het mogelijk om de return-instructie binnen conditionele structuren te gebruiken om selectief waarden te retourneren:

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

Wat zal de uitvoer zijn van het volgende programma?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 4

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Awesome!

Completion rate improved to 1.96

bookReturnwaarden van Functies

Veeg om het menu te tonen

Het kunnen doorgeven van gegevens aan functies is waardevol, maar het is even voordelig om gegevens uit functies op te halen. Hiervoor is het sleutelwoord return essentieel.

Het sleutelwoord return stelt functies in staat om gegevens terug te sturen naar het punt in de code waar ze zijn aangeroepen. Hier volgt de syntaxis voor een functie met een return-instructie:

func functionName(param_1 datatype, param_2 datatype, ...) return_datatype {
      // Code
     
      return data_to_be_returned
}

De data_to_be_returned is waar we een expressie of waarde opgeven. Het returned_datatype geeft het verwachte gegevenstype aan voor de waarde die zal worden geretourneerd. Dit wordt duidelijker aan de hand van een voorbeeld.

Het volgende programma toont de implementatie van een return-instructie via een functie die zowel de som als het product van twee opgegeven gehele getallen berekent en retourneert:

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

Let op dat binnen de functie Println de uitdrukking myFunc(5, 7) wordt gebruikt, en het bovenstaande programma geeft de uitvoer 47, wat het resultaat is van de berekeningen uitgevoerd door de functie myFunc(). Dit toont aan dat de return-instructie specifieke gegevens teruggeeft naar de locatie waar de functie is aangeroepen. Daarnaast kunnen we de geretourneerde gegevens opslaan in een variabele:

index.go

index.go

copy
12
var returnedValue int = myFunc(5, 7) fmt.Println(returnedValue) // Outputs '47'

Opmerking

Een functie heeft geen parameters nodig om een return-instructie op te nemen.

Een functie mag geen code bevatten na een return-instructie, en doorgaans staat Go niet meerdere return-instructies toe:

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 }

Toch is het mogelijk om de return-instructie binnen conditionele structuren te gebruiken om selectief waarden te retourneren:

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

Wat zal de uitvoer zijn van het volgende programma?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 4
some-alt