For-silmukka
Ohjelmoinnissa silmukka mahdollistaa koodilohkon suorittamisen toistuvasti, joko ennalta määrätyn määrän kertoja tai kunnes ehto täyttyy. Go-kielessä silmukan perussyntaksi on seuraava:
for initialization; condition; post {
// Code to be executed
}
initialization-osiossa luodaan ja alustetaan uusi kokonaislukumuuttuja. condition-osiossa käytetään totuusarvolauseketta, joka tarkistetaan jokaisella kierroksella, ja silmukka jatkaa koodin suorittamista niin kauan kuin ehto on true. post-osiossa suoritetaan lause jokaisen kierroksen jälkeen.
Huomio
Iteraatio silmukassa tarkoittaa jokaista yksittäistä silmukan koodilohkon suorittamista. Se edustaa yhtä kierrosta tai toistoa silmukassa.
Tässä on esimerkki for-silmukasta, joka havainnollistaa käsitettä:
index.go
12345678package main import "fmt" func main() { for i := 1; i < 10; i++ { fmt.Println(i) } }
Alustimme muuttujan i arvolla 1. Ehtona määriteltiin i < 10, joka on aluksi true; siksi silmukka suoritetaan. Jokaisen iteraation jälkeen silmukka suorittaa i++, kasvattaen i:n arvoa yhdellä. Yhdeksän iteraation jälkeen ehto i < 10 muuttuu epätodeksi, ja silmukka päättyy. Alla oleva kaavio havainnollistaa silmukan suoritusta:
Tämän tyyppisellä silmukalla voidaan määrittää, kuinka monta kertaa koodi suoritetaan. Jos kuitenkin halutaan suorittaa koodilohko, kunnes tietty ehto täyttyy, voidaan käyttää seuraavaa syntaksia:
for condition {
// Code to be executed
}
Tämän tyyppistä silmukkaa kutsutaan muissa ohjelmointikielissä usein "while-silmukaksi", koska se luodaan yleensä while-avainsanalla. Go-kielessä käytetään kuitenkin vain yhtä avainsanaa for molempien silmukoiden luomiseen.
Alla on käytännön esimerkki siitä, miten tätä voidaan hyödyntää:
index.go
12345678910package main import "fmt" func main() { var value float64 = 100 for value > 0.5 { value = value / 2 fmt.Println(value) } }
Yllä oleva ohjelma jakaa luvun 2:lla toistuvasti, kunnes se on pienempi kuin 0.5. Alla oleva kaavio auttaa ymmärtämään tämän silmukan suoritusta paremmin:
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain the difference between the two loop syntaxes in Go?
What happens if the loop condition is always true?
Can you give more examples of using loops in Go?
Awesome!
Completion rate improved to 1.96
For-silmukka
Pyyhkäise näyttääksesi valikon
Ohjelmoinnissa silmukka mahdollistaa koodilohkon suorittamisen toistuvasti, joko ennalta määrätyn määrän kertoja tai kunnes ehto täyttyy. Go-kielessä silmukan perussyntaksi on seuraava:
for initialization; condition; post {
// Code to be executed
}
initialization-osiossa luodaan ja alustetaan uusi kokonaislukumuuttuja. condition-osiossa käytetään totuusarvolauseketta, joka tarkistetaan jokaisella kierroksella, ja silmukka jatkaa koodin suorittamista niin kauan kuin ehto on true. post-osiossa suoritetaan lause jokaisen kierroksen jälkeen.
Huomio
Iteraatio silmukassa tarkoittaa jokaista yksittäistä silmukan koodilohkon suorittamista. Se edustaa yhtä kierrosta tai toistoa silmukassa.
Tässä on esimerkki for-silmukasta, joka havainnollistaa käsitettä:
index.go
12345678package main import "fmt" func main() { for i := 1; i < 10; i++ { fmt.Println(i) } }
Alustimme muuttujan i arvolla 1. Ehtona määriteltiin i < 10, joka on aluksi true; siksi silmukka suoritetaan. Jokaisen iteraation jälkeen silmukka suorittaa i++, kasvattaen i:n arvoa yhdellä. Yhdeksän iteraation jälkeen ehto i < 10 muuttuu epätodeksi, ja silmukka päättyy. Alla oleva kaavio havainnollistaa silmukan suoritusta:
Tämän tyyppisellä silmukalla voidaan määrittää, kuinka monta kertaa koodi suoritetaan. Jos kuitenkin halutaan suorittaa koodilohko, kunnes tietty ehto täyttyy, voidaan käyttää seuraavaa syntaksia:
for condition {
// Code to be executed
}
Tämän tyyppistä silmukkaa kutsutaan muissa ohjelmointikielissä usein "while-silmukaksi", koska se luodaan yleensä while-avainsanalla. Go-kielessä käytetään kuitenkin vain yhtä avainsanaa for molempien silmukoiden luomiseen.
Alla on käytännön esimerkki siitä, miten tätä voidaan hyödyntää:
index.go
12345678910package main import "fmt" func main() { var value float64 = 100 for value > 0.5 { value = value / 2 fmt.Println(value) } }
Yllä oleva ohjelma jakaa luvun 2:lla toistuvasti, kunnes se on pienempi kuin 0.5. Alla oleva kaavio auttaa ymmärtämään tämän silmukan suoritusta paremmin:
Kiitos palautteestasi!