Returnwaarden 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
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)) }
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
12var 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
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
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()) }
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 1.96
Returnwaarden 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
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)) }
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
12var 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
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
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()) }
Bedankt voor je feedback!