Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Överföra Data till Funktioner | Funktioner
Quizzes & Challenges
Quizzes
Challenges
/
Introduktion till Golang

bookÖverföra Data till Funktioner

Funktioner är inte särskilt användbara om vi inte kan komma åt data utanför dem på grund av skillnader i omfång. Vi kan dock skicka in data i funktioner med hjälp av 'parametrar'.

Parametrar definierar ett format för den data som en funktion förväntar sig att ta emot när den anropas eller exekveras.

I tidigare kapitel undersökte vi enkla funktioner utan parametrar. Vi kan dock deklarera en funktion med parametrar med följande syntax:

index.go

index.go

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

Varje parameter kan ha ett unikt namn följt av dess datatyp. Kommatecken separerar parametrarna. Parametrar följer samma namngivningskonventioner som variabler.

Här är ett exempel som visar användningen av funktioner med parametrar:

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 ovan ser du funktioner med en, två och tre parametrar. Det är fullt möjligt att skapa funktioner med så många parametrar som behövs.

Värden kan tilldelas dessa funktioner antingen direkt eller via variabler. Till exempel, i följande sats, anger vi direkt strängvärdet där en parameter förväntas:

index.go

index.go

copy
1
outThreeTimes("Hello World")

Alternativt kan vi lagra det i en strängvariabel och sedan skicka den variabeln till funktionen:

index.go

index.go

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

I uttalandet nedan observeras en kombination av båda tillvägagångssätten:

index.go

index.go

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

Du kan välja den metod som passar dina behov bäst.

Notera

När variabler eller datavärden skickas in i en funktion kallas de argument. I fallet product(a, b, 9) är a, b och 9 argument. Däremot, i funktionsdeklarationen, är val1 int, val2 int och val3 int kända som parametrar.

Det är viktigt att skicka in data till funktioner i den ordning som definieras av parametrarna. Till exempel, i en funktion func myFunc(an int, b string), ska det första argumentet vara ett heltal och det andra en sträng; annan ordning leder till fel.

Inuti funktionen fungerar parametrar i praktiken som variabler som antar värdena från de skickade argumenten. Därför kommer deklaration av variabler med samma namn som någon funktionsparameter inom funktionens kropp att leda till fel.

index.go

index.go

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

Välj den korrekta koden för att anropa funktionen productTable inuti funktionen main.

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 3

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Suggested prompts:

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

bookÖverföra Data till Funktioner

Svep för att visa menyn

Funktioner är inte särskilt användbara om vi inte kan komma åt data utanför dem på grund av skillnader i omfång. Vi kan dock skicka in data i funktioner med hjälp av 'parametrar'.

Parametrar definierar ett format för den data som en funktion förväntar sig att ta emot när den anropas eller exekveras.

I tidigare kapitel undersökte vi enkla funktioner utan parametrar. Vi kan dock deklarera en funktion med parametrar med följande syntax:

index.go

index.go

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

Varje parameter kan ha ett unikt namn följt av dess datatyp. Kommatecken separerar parametrarna. Parametrar följer samma namngivningskonventioner som variabler.

Här är ett exempel som visar användningen av funktioner med parametrar:

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 ovan ser du funktioner med en, två och tre parametrar. Det är fullt möjligt att skapa funktioner med så många parametrar som behövs.

Värden kan tilldelas dessa funktioner antingen direkt eller via variabler. Till exempel, i följande sats, anger vi direkt strängvärdet där en parameter förväntas:

index.go

index.go

copy
1
outThreeTimes("Hello World")

Alternativt kan vi lagra det i en strängvariabel och sedan skicka den variabeln till funktionen:

index.go

index.go

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

I uttalandet nedan observeras en kombination av båda tillvägagångssätten:

index.go

index.go

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

Du kan välja den metod som passar dina behov bäst.

Notera

När variabler eller datavärden skickas in i en funktion kallas de argument. I fallet product(a, b, 9) är a, b och 9 argument. Däremot, i funktionsdeklarationen, är val1 int, val2 int och val3 int kända som parametrar.

Det är viktigt att skicka in data till funktioner i den ordning som definieras av parametrarna. Till exempel, i en funktion func myFunc(an int, b string), ska det första argumentet vara ett heltal och det andra en sträng; annan ordning leder till fel.

Inuti funktionen fungerar parametrar i praktiken som variabler som antar värdena från de skickade argumenten. Därför kommer deklaration av variabler med samma namn som någon funktionsparameter inom funktionens kropp att leda till fel.

index.go

index.go

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

Välj den korrekta koden för att anropa funktionen productTable inuti funktionen main.

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 3
some-alt