Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Arrays Doorgeven aan Functies | Arrays en Slices
Introductie tot Golang

bookArrays Doorgeven aan Functies

Een waardevolle eigenschap is de mogelijkheid om arrays door te geven aan functies, zodat deze arrays binnen andere scopes gebruikt kunnen worden, vooral wanneer ze lokaal zijn gedeclareerd.

De algemene syntaxis voor een array-argument in een functie is als volgt:

argName [expectedArraySize] dataType

De implementatie hiervan in een functie ziet er als volgt uit:

index.go

index.go

copy
123
func myFunc(arr [5] int) { // code here }

Het volgende voorbeeld toont het doorgeven van een array aan een functie en het gebruik ervan:

index.go

index.go

copy
123456789101112131415
package main import "fmt" func sumOfAll(arr [10] int) int { total := 0 for i := 0; i < 10; i++ { total += arr[i] } return total } func main() { var numbers = [10] int { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 } fmt.Printf("Sum: %d", sumOfAll(numbers)) }

In Go (Golang) worden arrays altijd als waarde doorgegeven aan functies. Dit betekent dat wanneer we een array aan een functie doorgeven, er binnen de functie een lokale kopie van de oorspronkelijke array wordt gemaakt. Als gevolg hiervan hebben wijzigingen die binnen de functie aan de array worden aangebracht geen invloed op de oorspronkelijke array, omdat de gegevens die binnen de functie worden benaderd een kopie zijn van de originele array.

Het volgende programma laat zien dat wijzigingen aan de array binnen de functie geen effect hebben op de oorspronkelijke array:

index.go

index.go

copy
12345678910111213
package main import "fmt" func myFunc(nums [3] int) { nums[1] = 10 } func main() { var values = [3] int {1, 2, 3} fmt.Println("Before:", values) myFunc(values) fmt.Println("After: ", values) }

Opmerking

In tegenstelling tot het doorgeven op waarde, is er het concept van doorgeven op referentie, waarbij een referentie naar de array of variabele aan de functie wordt doorgegeven. Hierdoor wordt bij het wijzigen van de waarde binnen de functie ook de bron aangepast. In sommige programmeertalen worden arrays standaard door referentie doorgegeven.

question mark

Wat is de juiste code voor de parameter van de functie myFunc:

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 8

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

bookArrays Doorgeven aan Functies

Veeg om het menu te tonen

Een waardevolle eigenschap is de mogelijkheid om arrays door te geven aan functies, zodat deze arrays binnen andere scopes gebruikt kunnen worden, vooral wanneer ze lokaal zijn gedeclareerd.

De algemene syntaxis voor een array-argument in een functie is als volgt:

argName [expectedArraySize] dataType

De implementatie hiervan in een functie ziet er als volgt uit:

index.go

index.go

copy
123
func myFunc(arr [5] int) { // code here }

Het volgende voorbeeld toont het doorgeven van een array aan een functie en het gebruik ervan:

index.go

index.go

copy
123456789101112131415
package main import "fmt" func sumOfAll(arr [10] int) int { total := 0 for i := 0; i < 10; i++ { total += arr[i] } return total } func main() { var numbers = [10] int { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 } fmt.Printf("Sum: %d", sumOfAll(numbers)) }

In Go (Golang) worden arrays altijd als waarde doorgegeven aan functies. Dit betekent dat wanneer we een array aan een functie doorgeven, er binnen de functie een lokale kopie van de oorspronkelijke array wordt gemaakt. Als gevolg hiervan hebben wijzigingen die binnen de functie aan de array worden aangebracht geen invloed op de oorspronkelijke array, omdat de gegevens die binnen de functie worden benaderd een kopie zijn van de originele array.

Het volgende programma laat zien dat wijzigingen aan de array binnen de functie geen effect hebben op de oorspronkelijke array:

index.go

index.go

copy
12345678910111213
package main import "fmt" func myFunc(nums [3] int) { nums[1] = 10 } func main() { var values = [3] int {1, 2, 3} fmt.Println("Before:", values) myFunc(values) fmt.Println("After: ", values) }

Opmerking

In tegenstelling tot het doorgeven op waarde, is er het concept van doorgeven op referentie, waarbij een referentie naar de array of variabele aan de functie wordt doorgegeven. Hierdoor wordt bij het wijzigen van de waarde binnen de functie ook de bron aangepast. In sommige programmeertalen worden arrays standaard door referentie doorgegeven.

question mark

Wat is de juiste code voor de parameter van de functie myFunc:

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 8
some-alt