Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Overførsel af Data til Funktioner | Funktioner
Introduktion til Golang

bookOverførsel af Data til Funktioner

Funktioner er ikke særlig nyttige, hvis vi ikke kan få adgang til data uden for dem på grund af forskelle i scopes. Vi kan dog overføre data til funktioner ved hjælp af 'parametre'.

Parametre definerer et format for de data, som en funktion forventer at modtage, når den kaldes eller udføres.

I de foregående kapitler undersøgte vi simple funktioner uden parametre. Vi kan dog erklære en funktion med parametre ved at bruge følgende syntaks:

index.go

index.go

copy
123
func myFunc(param1 datatype, param2 datatype, ...) { // Code }

Hver parameter kan have et unikt navn efterfulgt af sin datatypen. Parametre adskilles med kommaer. Parametre følger de samme navngivningskonventioner som variabler.

Her er et eksempel, der illustrerer brugen af funktioner med parametre:

index.go

index.go

copy
12345678910111213141516171819202122
package 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) }

I programmet ovenfor vil du bemærke funktioner med én, to og tre parametre. Det er fuldt ud muligt at oprette funktioner med så mange parametre, som der er behov for.

Værdier kan leveres til disse funktioner enten direkte eller via variabler. For eksempel, i den følgende sætning, angiver vi direkte strengværdien, hvor en parameter forventes:

index.go

index.go

copy
1
outThreeTimes("Hello World")

Alternativt kan vi gemme den i en strengvariabel og derefter videregive denne variabel til funktionen:

index.go

index.go

copy
12
var msg string = "Hello World" outThreeTimes(msg)

I erklæringen nedenfor ses en kombination af begge tilgange:

index.go

index.go

copy
123
var a int = 4 var b int = 7 product(a, b, 9)

Du kan vælge den metode, der passer bedst til dine behov.

Bemærk

Når variabler eller dataværdier sendes ind i en funktion, kaldes de argumenter. I tilfældet product(a, b, 9) er a, b og 9 argumenter. Omvendt kaldes de i funktionsdeklarationen, val1 int, val2 int og val3 int, for parametre.

Det er vigtigt at sende data ind i funktioner i den rækkefølge, som parametrene er defineret. For eksempel i funktionen func myFunc(an int, b string), skal det første argument være et heltal, og det andet skal være en streng; enhver anden rækkefølge vil resultere i fejl.

Inde i funktionen fungerer parametre reelt som variabler, der får værdierne fra de givne argumenter. Derfor vil det give fejl at erklære variabler med samme navn som en funktionsparameter inden for funktionens krop.

index.go

index.go

copy
123
func myFunc(param int) { var param int = 1 // Error Here }
question mark

Vælg den korrekte kode til at kalde funktionen productTable inden for main funktionen.

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 1.96

bookOverførsel af Data til Funktioner

Stryg for at vise menuen

Funktioner er ikke særlig nyttige, hvis vi ikke kan få adgang til data uden for dem på grund af forskelle i scopes. Vi kan dog overføre data til funktioner ved hjælp af 'parametre'.

Parametre definerer et format for de data, som en funktion forventer at modtage, når den kaldes eller udføres.

I de foregående kapitler undersøgte vi simple funktioner uden parametre. Vi kan dog erklære en funktion med parametre ved at bruge følgende syntaks:

index.go

index.go

copy
123
func myFunc(param1 datatype, param2 datatype, ...) { // Code }

Hver parameter kan have et unikt navn efterfulgt af sin datatypen. Parametre adskilles med kommaer. Parametre følger de samme navngivningskonventioner som variabler.

Her er et eksempel, der illustrerer brugen af funktioner med parametre:

index.go

index.go

copy
12345678910111213141516171819202122
package 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) }

I programmet ovenfor vil du bemærke funktioner med én, to og tre parametre. Det er fuldt ud muligt at oprette funktioner med så mange parametre, som der er behov for.

Værdier kan leveres til disse funktioner enten direkte eller via variabler. For eksempel, i den følgende sætning, angiver vi direkte strengværdien, hvor en parameter forventes:

index.go

index.go

copy
1
outThreeTimes("Hello World")

Alternativt kan vi gemme den i en strengvariabel og derefter videregive denne variabel til funktionen:

index.go

index.go

copy
12
var msg string = "Hello World" outThreeTimes(msg)

I erklæringen nedenfor ses en kombination af begge tilgange:

index.go

index.go

copy
123
var a int = 4 var b int = 7 product(a, b, 9)

Du kan vælge den metode, der passer bedst til dine behov.

Bemærk

Når variabler eller dataværdier sendes ind i en funktion, kaldes de argumenter. I tilfældet product(a, b, 9) er a, b og 9 argumenter. Omvendt kaldes de i funktionsdeklarationen, val1 int, val2 int og val3 int, for parametre.

Det er vigtigt at sende data ind i funktioner i den rækkefølge, som parametrene er defineret. For eksempel i funktionen func myFunc(an int, b string), skal det første argument være et heltal, og det andet skal være en streng; enhver anden rækkefølge vil resultere i fejl.

Inde i funktionen fungerer parametre reelt som variabler, der får værdierne fra de givne argumenter. Derfor vil det give fejl at erklære variabler med samme navn som en funktionsparameter inden for funktionens krop.

index.go

index.go

copy
123
func myFunc(param int) { var param int = 1 // Error Here }
question mark

Vælg den korrekte kode til at kalde funktionen productTable inden for main funktionen.

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 3
some-alt