Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Returneringsværdier fra Funktioner | Funktioner
Introduktion til Golang

bookReturneringsværdier fra Funktioner

Det er værdifuldt at kunne videregive data til funktioner, men det er lige så fordelagtigt at kunne hente data fra funktioner. Her bliver nøgleordet return essentielt.

Nøgleordet return gør det muligt for funktioner at sende data tilbage til det sted i koden, hvor de blev kaldt. Her er syntaksen for en funktion med en return-sætning:

func functionName(param_1 datatype, param_2 datatype, ...) return_datatype {
      // Code
     
      return data_to_be_returned
}

data_to_be_returned angiver et udtryk eller en værdi. returned_datatype repræsenterer den forventede datatype for den værdi, der returneres. Dette vil blive tydeligere gennem et eksempel.

Det følgende program illustrerer implementeringen af en return-sætning via en funktion, der beregner og returnerer både summen og produktet af to givne heltalsargumenter:

index.go

index.go

copy
1234567891011121314
package main import "fmt" func myFunc(value_1 int, value_2 int) int { var sum int = value_1 + value_2 var prod int = value_1 * value_2 var result int = sum + prod return result } func main() { fmt.Println(myFunc(5, 7)) }

Bemærk, at inden for Println-funktionen har vi myFunc(5, 7), og programmet ovenfor giver outputtet 47, hvilket er resultatet af de beregninger, der udføres af funktionen myFunc(). Dette demonstrerer, at return-sætningen overfører specifikke data tilbage til det sted, hvor funktionen blev kaldt. Derudover kan vi gemme de returnerede data i en variabel:

index.go

index.go

copy
12
var returnedValue int = myFunc(5, 7) fmt.Println(returnedValue) // Outputs '47'

Bemærk

En funktion behøver ikke parametre for at inkludere en return-sætning.

En funktion kan ikke indeholde kode efter en return-sætning, og typisk tillader Go ikke flere return-sætninger:

index.go

index.go

copy
1234567891011
// Function exits after the first return statement it encounters func exampleOne() int { return 1 return 2 // Will be ignored } // There cannot be any code after a return statement func exampleTwo() int { return 1 fmt.Println() // Error here }

Det er dog muligt at anvende return-sætningen inden for betingede strukturer for selektivt at returnere værdier:

index.go

index.go

copy
123456789101112131415
package main import "fmt" func myFunc() string { if(1 > 2) { return "1 is greater than 2" } else { return "2 is greater than 1" } } func main() { fmt.Println(myFunc()) }
question mark

Hvad vil outputtet være for følgende program?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 4

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

Suggested prompts:

Can you show an example of a function using the return statement in Go?

What happens if I try to put code after a return statement in a Go function?

Can a Go function return multiple values?

Awesome!

Completion rate improved to 1.96

bookReturneringsværdier fra Funktioner

Stryg for at vise menuen

Det er værdifuldt at kunne videregive data til funktioner, men det er lige så fordelagtigt at kunne hente data fra funktioner. Her bliver nøgleordet return essentielt.

Nøgleordet return gør det muligt for funktioner at sende data tilbage til det sted i koden, hvor de blev kaldt. Her er syntaksen for en funktion med en return-sætning:

func functionName(param_1 datatype, param_2 datatype, ...) return_datatype {
      // Code
     
      return data_to_be_returned
}

data_to_be_returned angiver et udtryk eller en værdi. returned_datatype repræsenterer den forventede datatype for den værdi, der returneres. Dette vil blive tydeligere gennem et eksempel.

Det følgende program illustrerer implementeringen af en return-sætning via en funktion, der beregner og returnerer både summen og produktet af to givne heltalsargumenter:

index.go

index.go

copy
1234567891011121314
package main import "fmt" func myFunc(value_1 int, value_2 int) int { var sum int = value_1 + value_2 var prod int = value_1 * value_2 var result int = sum + prod return result } func main() { fmt.Println(myFunc(5, 7)) }

Bemærk, at inden for Println-funktionen har vi myFunc(5, 7), og programmet ovenfor giver outputtet 47, hvilket er resultatet af de beregninger, der udføres af funktionen myFunc(). Dette demonstrerer, at return-sætningen overfører specifikke data tilbage til det sted, hvor funktionen blev kaldt. Derudover kan vi gemme de returnerede data i en variabel:

index.go

index.go

copy
12
var returnedValue int = myFunc(5, 7) fmt.Println(returnedValue) // Outputs '47'

Bemærk

En funktion behøver ikke parametre for at inkludere en return-sætning.

En funktion kan ikke indeholde kode efter en return-sætning, og typisk tillader Go ikke flere return-sætninger:

index.go

index.go

copy
1234567891011
// Function exits after the first return statement it encounters func exampleOne() int { return 1 return 2 // Will be ignored } // There cannot be any code after a return statement func exampleTwo() int { return 1 fmt.Println() // Error here }

Det er dog muligt at anvende return-sætningen inden for betingede strukturer for selektivt at returnere værdier:

index.go

index.go

copy
123456789101112131415
package main import "fmt" func myFunc() string { if(1 > 2) { return "1 is greater than 2" } else { return "2 is greater than 1" } } func main() { fmt.Println(myFunc()) }
question mark

Hvad vil outputtet være for følgende program?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 4
some-alt