Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Å Sende Matriser Inn i Funksjoner | Arrayer og Slices
Introduksjon til Golang

bookÅ Sende Matriser Inn i Funksjoner

En nyttig funksjon er muligheten til å sende arrayer inn i funksjoner slik at vi kan bruke disse arrayene i andre omfang, spesielt når de er lokalt deklarert.

Den generelle syntaksen for et array-argument i en funksjon er som følger:

argName [expectedArraySize] dataType

Implementering av dette i en funksjon vil se omtrent slik ut:

index.go

index.go

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

Følgende eksempel viser hvordan man sender et array inn i en funksjon og bruker det:

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

I Go (Golang) sendes arrays alltid som verdier inn i funksjoner. Dette betyr at når vi sender et array inn i en funksjon, opprettes det en lokal kopi av det opprinnelige arrayet inne i funksjonen. Derfor vil eventuelle endringer som gjøres på arrayet inne i funksjonen ikke påvirke det opprinnelige arrayet, fordi dataene som brukes i funksjonen er en kopi av det opprinnelige arrayet.

Følgende program illustrerer at endringer på arrayet inne i funksjonen ikke påvirker det opprinnelige arrayet:

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

Merk

I motsetning til å sende med verdi, finnes det konseptet å sende med referanse, hvor en referanse til arrayet eller variabelen sendes inn i funksjonen. Dermed vil endringer av verdien inne i funksjonen også endre kilden. I noen programmeringsspråk sendes arrayer med referanse som standard.

question mark

Hva er riktig kode for parameteren til funksjonen myFunc:

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 8

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 1.96

bookÅ Sende Matriser Inn i Funksjoner

Sveip for å vise menyen

En nyttig funksjon er muligheten til å sende arrayer inn i funksjoner slik at vi kan bruke disse arrayene i andre omfang, spesielt når de er lokalt deklarert.

Den generelle syntaksen for et array-argument i en funksjon er som følger:

argName [expectedArraySize] dataType

Implementering av dette i en funksjon vil se omtrent slik ut:

index.go

index.go

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

Følgende eksempel viser hvordan man sender et array inn i en funksjon og bruker det:

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

I Go (Golang) sendes arrays alltid som verdier inn i funksjoner. Dette betyr at når vi sender et array inn i en funksjon, opprettes det en lokal kopi av det opprinnelige arrayet inne i funksjonen. Derfor vil eventuelle endringer som gjøres på arrayet inne i funksjonen ikke påvirke det opprinnelige arrayet, fordi dataene som brukes i funksjonen er en kopi av det opprinnelige arrayet.

Følgende program illustrerer at endringer på arrayet inne i funksjonen ikke påvirker det opprinnelige arrayet:

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

Merk

I motsetning til å sende med verdi, finnes det konseptet å sende med referanse, hvor en referanse til arrayet eller variabelen sendes inn i funksjonen. Dermed vil endringer av verdien inne i funksjonen også endre kilden. I noen programmeringsspråk sendes arrayer med referanse som standard.

question mark

Hva er riktig kode for parameteren til funksjonen myFunc:

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 8
some-alt