Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Palautusarvot Funktioista | Funktiot
Johdatus Golangiin

bookPalautusarvot Funktioista

Tietojen välittäminen funktioihin on hyödyllistä, mutta yhtä tärkeää on kyetä palauttamaan tietoa funktioista. Tässä kohtaa return-avainsana on olennainen.

return-avainsanan avulla funktiot voivat palauttaa tietoa siihen kohtaan koodissa, jossa ne kutsuttiin. Tässä on syntaksi funktiolle, jossa käytetään return-lausetta:

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

data_to_be_returned määrittää lausekkeen tai arvon, joka palautetaan. returned_datatype kuvaa palautettavan arvon odotettua tietotyyppiä. Tämä selkeytyy esimerkin avulla.

Seuraava ohjelma havainnollistaa return-lauseen käyttöä funktion avulla, joka laskee ja palauttaa kahden annetun kokonaisluvun summan ja tulon:

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

Huomaa, että Println-funktion sisällä on myFunc(5, 7), ja yllä oleva ohjelma tuottaa tulosteen 47, joka on seurausta myFunc()-funktion suorittamista laskutoimituksista. Tämä osoittaa, että return-lauseke palauttaa tietyn arvon siihen kohtaan, jossa funktiota kutsuttiin. Lisäksi voimme tallentaa palautetun arvon muuttujaan:

index.go

index.go

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

Huomio

Funktion ei tarvitse sisältää parametreja käyttääkseen return-lausetta.

Funktio ei voi sisältää koodia return-lauseen jälkeen, ja yleensä Go ei salli useita return-lauseita:

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 }

On kuitenkin mahdollista käyttää return-lausetta ehtorakenteissa arvojen valikoivaan palauttamiseen:

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

Mikä on seuraavan ohjelman tuloste?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

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?

bookPalautusarvot Funktioista

Pyyhkäise näyttääksesi valikon

Tietojen välittäminen funktioihin on hyödyllistä, mutta yhtä tärkeää on kyetä palauttamaan tietoa funktioista. Tässä kohtaa return-avainsana on olennainen.

return-avainsanan avulla funktiot voivat palauttaa tietoa siihen kohtaan koodissa, jossa ne kutsuttiin. Tässä on syntaksi funktiolle, jossa käytetään return-lausetta:

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

data_to_be_returned määrittää lausekkeen tai arvon, joka palautetaan. returned_datatype kuvaa palautettavan arvon odotettua tietotyyppiä. Tämä selkeytyy esimerkin avulla.

Seuraava ohjelma havainnollistaa return-lauseen käyttöä funktion avulla, joka laskee ja palauttaa kahden annetun kokonaisluvun summan ja tulon:

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

Huomaa, että Println-funktion sisällä on myFunc(5, 7), ja yllä oleva ohjelma tuottaa tulosteen 47, joka on seurausta myFunc()-funktion suorittamista laskutoimituksista. Tämä osoittaa, että return-lauseke palauttaa tietyn arvon siihen kohtaan, jossa funktiota kutsuttiin. Lisäksi voimme tallentaa palautetun arvon muuttujaan:

index.go

index.go

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

Huomio

Funktion ei tarvitse sisältää parametreja käyttääkseen return-lausetta.

Funktio ei voi sisältää koodia return-lauseen jälkeen, ja yleensä Go ei salli useita return-lauseita:

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 }

On kuitenkin mahdollista käyttää return-lausetta ehtorakenteissa arvojen valikoivaan palauttamiseen:

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

Mikä on seuraavan ohjelman tuloste?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 4
some-alt