Å 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
123func myFunc(arr [5] int) { // code here }
Følgende eksempel viser hvordan man sender et array inn i en funksjon og bruker det:
index.go
123456789101112131415package 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
12345678910111213package 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.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you explain the difference between passing by value and passing by reference in more detail?
Are there ways to modify the original array inside a function in Go?
Can you show an example of passing an array by reference in Go?
Awesome!
Completion rate improved to 1.96
Å 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
123func myFunc(arr [5] int) { // code here }
Følgende eksempel viser hvordan man sender et array inn i en funksjon og bruker det:
index.go
123456789101112131415package 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
12345678910111213package 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.
Takk for tilbakemeldingene dine!