Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele For-silmukka | Ohjausrakenteet
Quizzes & Challenges
Quizzes
Challenges
/
Johdatus Golangiin

bookFor-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

index.go

copy
12345678
package 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

index.go

copy
12345678910
package 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:

question mark

Mikä on seuraavan silmukan tulosteen viimeinen rivi?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 6

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

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

bookFor-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

index.go

copy
12345678
package 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

index.go

copy
12345678910
package 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:

question mark

Mikä on seuraavan silmukan tulosteen viimeinen rivi?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 6
some-alt