Palautusarvot 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
1234567891011121314package 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
12var 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
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
123456789101112131415package 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()) }
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
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
Palautusarvot 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
1234567891011121314package 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
12var 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
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
123456789101112131415package 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()) }
Kiitos palautteestasi!