Gegevens Doorgeven aan Functies
Functies zijn niet erg nuttig als we geen toegang hebben tot gegevens van buitenaf vanwege verschillen in scopes. We kunnen echter gegevens aan functies doorgeven met behulp van 'parameters'.
Parameters definiëren een formaat voor gegevens die een functie verwacht te ontvangen wanneer deze wordt aangeroepen of uitgevoerd.
In de vorige hoofdstukken hebben we eenvoudige functies zonder parameters onderzocht. We kunnen echter een functie met parameters declareren met behulp van de volgende syntaxis:
index.go
123func myFunc(param1 datatype, param2 datatype, ...) { // Code }
Elke parameter kan een unieke naam hebben, gevolgd door het gegevenstype. Parameters worden gescheiden door komma's. Parameters volgen dezelfde naamgevingsconventies als variabelen.
Hier is een voorbeeld dat het gebruik van functies met parameters illustreert:
index.go
12345678910111213141516171819202122package main import "fmt" func outThreeTimes(message string) { fmt.Println(message) fmt.Println(message) fmt.Println(message) } func sum(value1 int, value2 int) { fmt.Println("Sum:", value1 + value2) } func product(val1 int, val2 int, val3 int) { fmt.Println("Product:", val1 * val2 * val3) } func main() { outThreeTimes("Hello World") sum(17, 25) product(4, 7, 9) }
In het bovenstaande programma zijn functies te zien met één, twee en drie parameters. Het is volledig mogelijk om functies te maken met zoveel parameters als nodig.
Waarden kunnen aan deze functies worden doorgegeven, hetzij direct, hetzij via variabelen. In de volgende instructie wordt bijvoorbeeld de tekenreekswaarde direct opgegeven waar een parameter wordt verwacht:
index.go
1outThreeTimes("Hello World")
Als alternatief kan de waarde in een stringvariabele worden opgeslagen en vervolgens als variabele aan de functie worden doorgegeven:
index.go
12var msg string = "Hello World" outThreeTimes(msg)
In de onderstaande instructie zie je een combinatie van beide benaderingen:
index.go
123var a int = 4 var b int = 7 product(a, b, 9)
Je kunt de methode kiezen die het beste bij jouw behoeften past.
Opmerking
Wanneer variabelen of gegevenswaarden aan een functie worden doorgegeven, worden deze argumenten genoemd. In het geval van
product(a, b, 9)zijn de termena,ben9argumenten. Daarentegen worden in de functiedeclaratieval1 int,val2 intenval3 intparameters genoemd.
Het is belangrijk om gegevens in de volgorde van de gedefinieerde parameters aan functies door te geven. Bijvoorbeeld, in een functie func myFunc(an int, b string), moet het eerste argument een integer zijn en het tweede een string; elke andere volgorde resulteert in fouten.
Binnen de functie fungeren parameters feitelijk als variabelen die de waarden van de doorgegeven argumenten aannemen. Daarom zal het declareren van variabelen met dezelfde naam als een functieparameter binnen het functieblok tot fouten leiden.
index.go
123func myFunc(param int) { var param int = 1 // Error Here }
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Can you explain the difference between parameters and arguments again?
Why does the order of arguments matter when calling a function?
What happens if I use the same name for a parameter and a variable inside the function?
Awesome!
Completion rate improved to 1.96
Gegevens Doorgeven aan Functies
Veeg om het menu te tonen
Functies zijn niet erg nuttig als we geen toegang hebben tot gegevens van buitenaf vanwege verschillen in scopes. We kunnen echter gegevens aan functies doorgeven met behulp van 'parameters'.
Parameters definiëren een formaat voor gegevens die een functie verwacht te ontvangen wanneer deze wordt aangeroepen of uitgevoerd.
In de vorige hoofdstukken hebben we eenvoudige functies zonder parameters onderzocht. We kunnen echter een functie met parameters declareren met behulp van de volgende syntaxis:
index.go
123func myFunc(param1 datatype, param2 datatype, ...) { // Code }
Elke parameter kan een unieke naam hebben, gevolgd door het gegevenstype. Parameters worden gescheiden door komma's. Parameters volgen dezelfde naamgevingsconventies als variabelen.
Hier is een voorbeeld dat het gebruik van functies met parameters illustreert:
index.go
12345678910111213141516171819202122package main import "fmt" func outThreeTimes(message string) { fmt.Println(message) fmt.Println(message) fmt.Println(message) } func sum(value1 int, value2 int) { fmt.Println("Sum:", value1 + value2) } func product(val1 int, val2 int, val3 int) { fmt.Println("Product:", val1 * val2 * val3) } func main() { outThreeTimes("Hello World") sum(17, 25) product(4, 7, 9) }
In het bovenstaande programma zijn functies te zien met één, twee en drie parameters. Het is volledig mogelijk om functies te maken met zoveel parameters als nodig.
Waarden kunnen aan deze functies worden doorgegeven, hetzij direct, hetzij via variabelen. In de volgende instructie wordt bijvoorbeeld de tekenreekswaarde direct opgegeven waar een parameter wordt verwacht:
index.go
1outThreeTimes("Hello World")
Als alternatief kan de waarde in een stringvariabele worden opgeslagen en vervolgens als variabele aan de functie worden doorgegeven:
index.go
12var msg string = "Hello World" outThreeTimes(msg)
In de onderstaande instructie zie je een combinatie van beide benaderingen:
index.go
123var a int = 4 var b int = 7 product(a, b, 9)
Je kunt de methode kiezen die het beste bij jouw behoeften past.
Opmerking
Wanneer variabelen of gegevenswaarden aan een functie worden doorgegeven, worden deze argumenten genoemd. In het geval van
product(a, b, 9)zijn de termena,ben9argumenten. Daarentegen worden in de functiedeclaratieval1 int,val2 intenval3 intparameters genoemd.
Het is belangrijk om gegevens in de volgorde van de gedefinieerde parameters aan functies door te geven. Bijvoorbeeld, in een functie func myFunc(an int, b string), moet het eerste argument een integer zijn en het tweede een string; elke andere volgorde resulteert in fouten.
Binnen de functie fungeren parameters feitelijk als variabelen die de waarden van de doorgegeven argumenten aannemen. Daarom zal het declareren van variabelen met dezelfde naam als een functieparameter binnen het functieblok tot fouten leiden.
index.go
123func myFunc(param int) { var param int = 1 // Error Here }
Bedankt voor je feedback!