 Ehdollinen Ketjutus
Ehdollinen Ketjutus
Voimme käyttää else if -avainsanaa määrittämään lisäehdon, joka arvioidaan, jos edellinen ehto ei täyty:
index.go
12345678910package main import "fmt" func main() { if (3 > 4) { fmt.Println("3 is greater than 4") } else if (3 > 2) { fmt.Println("3 is greater than 2") } }
Yllä olevassa ohjelmassa tarkistetaan ensin lauseke 3 > 4, joka on false; siksi ohjelma siirtyy seuraavaan lauseeseen (3 > 2), joka on määritelty else if -avainsanalla. Seuraava ehto on true, joten tulosteessa näytetään toisen Println-lauseen tulos.
Voimme lisätä niin monta lisäehtoa kuin on tarpeen käyttämällä else if -lauseita:
index.go
1234567891011121314package main import "fmt" func main() { if (3 > 4) { fmt.Println("3 is greater than 4") } else if (3 > 3) { fmt.Println("3 is greater than 3") } else if (3 > 2) { fmt.Println("3 is greater than 2") } else if (3 > 1) { fmt.Println("3 is greater than 1") } }
On tärkeää huomata, että yllä oleva ohjelma tulostaa vain 3 is greater than 2, vaikka seuraava ehto on myös true. Tämä osoittaa, että if-else if -ketju lopettaa ehtojen tarkastelun heti, kun se kohtaa true-ehdon.
Tätä prosessia kutsutaan ehdolliseksi ketjutukseksi, koska määrittelemme ehtoja ketjuna käyttäen if- ja else if -avainsanoja.
Huomio
Ehdollisessa ketjussa suoritetaan vain yksi koodilohko, se joka täyttää ehdon, ja loput ohitetaan.
Vaihtoehtoisesti, sen sijaan että ketjuttaisimme ehtoja if-else if -yhdistelmällä, voimme kirjoittaa jokaisen ehdon erillisillä if-lauseilla. Tämä lähestymistapa tuottaa kuitenkin erilaisen tulosteen, koska kyseessä ei ole enää yksi ketju, vaan joukko erillisiä ehtoja, eikä suoritus lopu, vaikka yksi tai useampi ehto täyttyisi:
index.go
1234567891011121314151617package main import "fmt" func main() { if (3 > 4) { fmt.Println("3 is greater than 4") } if (3 > 3) { fmt.Println("3 is greater than 3") } if (3 > 2) { fmt.Println("3 is greater than 2") } if (3 > 1) { fmt.Println("3 is greater than 1") } }
Tähän asti olemme yksinkertaisuuden vuoksi käyttäneet arvoja loogisissa lausekkeissa. On kuitenkin yleisempää käyttää muuttujia tai muuttujien ja arvojen yhdistelmiä loogisissa lausekkeissa:
index.go
123456789package main import "fmt" func main() { var value int = 10 if (value == 10) { fmt.Println("The variable has the expected value.") } }
Ehtoketjussa voidaan käyttää else-avainsanaa osoittamaan koodilohko, joka suoritetaan, jos mikään ketjun ehdoista ei täyty:
index.go
12345678910111213package main import "fmt" func main() { var value int = 70 if (value < 50) { fmt.Println("The value is less than 50") } else if (value == 50) { fmt.Println("The value is equal to 50") } else { fmt.Println("The value is greater than 50") } }
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you give an example of using variables in a conditional chain?
What happens if none of the conditions in the chain are true?
Can you explain the difference between using chained conditionals and separate if statements?
Awesome!
Completion rate improved to 1.96 Ehdollinen Ketjutus
Ehdollinen Ketjutus
Pyyhkäise näyttääksesi valikon
Voimme käyttää else if -avainsanaa määrittämään lisäehdon, joka arvioidaan, jos edellinen ehto ei täyty:
index.go
12345678910package main import "fmt" func main() { if (3 > 4) { fmt.Println("3 is greater than 4") } else if (3 > 2) { fmt.Println("3 is greater than 2") } }
Yllä olevassa ohjelmassa tarkistetaan ensin lauseke 3 > 4, joka on false; siksi ohjelma siirtyy seuraavaan lauseeseen (3 > 2), joka on määritelty else if -avainsanalla. Seuraava ehto on true, joten tulosteessa näytetään toisen Println-lauseen tulos.
Voimme lisätä niin monta lisäehtoa kuin on tarpeen käyttämällä else if -lauseita:
index.go
1234567891011121314package main import "fmt" func main() { if (3 > 4) { fmt.Println("3 is greater than 4") } else if (3 > 3) { fmt.Println("3 is greater than 3") } else if (3 > 2) { fmt.Println("3 is greater than 2") } else if (3 > 1) { fmt.Println("3 is greater than 1") } }
On tärkeää huomata, että yllä oleva ohjelma tulostaa vain 3 is greater than 2, vaikka seuraava ehto on myös true. Tämä osoittaa, että if-else if -ketju lopettaa ehtojen tarkastelun heti, kun se kohtaa true-ehdon.
Tätä prosessia kutsutaan ehdolliseksi ketjutukseksi, koska määrittelemme ehtoja ketjuna käyttäen if- ja else if -avainsanoja.
Huomio
Ehdollisessa ketjussa suoritetaan vain yksi koodilohko, se joka täyttää ehdon, ja loput ohitetaan.
Vaihtoehtoisesti, sen sijaan että ketjuttaisimme ehtoja if-else if -yhdistelmällä, voimme kirjoittaa jokaisen ehdon erillisillä if-lauseilla. Tämä lähestymistapa tuottaa kuitenkin erilaisen tulosteen, koska kyseessä ei ole enää yksi ketju, vaan joukko erillisiä ehtoja, eikä suoritus lopu, vaikka yksi tai useampi ehto täyttyisi:
index.go
1234567891011121314151617package main import "fmt" func main() { if (3 > 4) { fmt.Println("3 is greater than 4") } if (3 > 3) { fmt.Println("3 is greater than 3") } if (3 > 2) { fmt.Println("3 is greater than 2") } if (3 > 1) { fmt.Println("3 is greater than 1") } }
Tähän asti olemme yksinkertaisuuden vuoksi käyttäneet arvoja loogisissa lausekkeissa. On kuitenkin yleisempää käyttää muuttujia tai muuttujien ja arvojen yhdistelmiä loogisissa lausekkeissa:
index.go
123456789package main import "fmt" func main() { var value int = 10 if (value == 10) { fmt.Println("The variable has the expected value.") } }
Ehtoketjussa voidaan käyttää else-avainsanaa osoittamaan koodilohko, joka suoritetaan, jos mikään ketjun ehdoista ei täyty:
index.go
12345678910111213package main import "fmt" func main() { var value int = 70 if (value < 50) { fmt.Println("The value is less than 50") } else if (value == 50) { fmt.Println("The value is equal to 50") } else { fmt.Println("The value is greater than 50") } }
Kiitos palautteestasi!