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?

Awesome!

Completion rate improved to 1.96

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