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!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme