For cilpa ir vadības plūsmas paziņojums, ko izmanto, lai atkārtoti izpildītu koda bloku. Programmā Go for cilpa ir vienīgā cilpas konstrukcija.
Varat izmantot cilpu for, lai atkārtotu koda blokus un simulētu pilnu cilpu klāstu no citām valodām, tostarp for...each, while cilpas un do...while cilpas.
Instalēšana Pārejiet uz sākumu
Pārliecinieties, ka jums ir Iet instalēts lai sekotu līdzi. Lielākajai daļai šo piemēru ir nepieciešams fmt pakotni, un jums vajadzētu izmantot šādu kopējo struktūru:
iepakojums galvenais
imports "fmt"
funcgalvenais() {
// kods iet šeit
}
Trīskomponentu sistēma Loop in Go
Tas, iespējams, ir visizplatītākais cilpai. Kā norāda nosaukums, tam ir nepieciešami trīs komponenti: sākotnējā vērtība, nosacījums un ziņas paziņojums. Šeit ir sintakse:
inicializācijai; stāvoklis; post {
paziņojumi)
}
Šajā cilpā pēc inicializācijas tiek novērtēts stāvoklis. Ja vērtība ir patiesa, tiek izpildīti priekšraksti cilpas blokā, kam seko post paziņojums. Programma atkārto šo procesu, līdz nosacījums vairs netiek novērtēts kā patiess. Zemāk ir piemērs.
priekš i := 1; i <= 5; i++ {
fmt.Drukāt(i)
}
Šeit:
- inicializācijas komplekti i uz 1
- nosacījums ir es <= 5
- pasta paziņojums ir i++
Šī cilpa drukā pašreizējo vērtību i ja tas ir mazāks vai vienāds ar 5. “Paziņojumam” tiek pievienots 1 i pēc katras cilpas un vienu reizi i sasniedz 5, cilpa beidzas. Bez “pasta paziņojuma” cilpa tiktu izpildīta bezgalīgi ilgi un, iespējams, izraisītu programmas avāriju.
Katram cilpa Go
Go nav katras cilpas, taču jūs varat modificēt for cilpu, lai šķērsotu elementu kolekciju. Šeit ir sintakse:
indeksam vērtība := diapazona kolekcija {
// ķermenis
}
Kolekcija var būt masīvs, sadaļa, virkne vai karte vai kanālā saņemtas vērtības. Indekss ir pozīcija kolekcijā. Vērtība ir indeksa elements.
Ja jums rūp tikai vērtība, izlaidiet indeksu šādi:
_, vērtība := diapazona šķēle {}
Tālāk esošajā piemērā cilpa šķērso masīvu un izdrukā gan indeksu, gan katra tajā esošā vienuma vērtību.
masīvs := []virkne{"Sveiki", "pasaule"}
priekš i, j := diapazons masīvs {
fmt.Drukāt(i, j)
}
A While Loop in Go
Lai sasniegtu, varat izmantot for cilpu kamēr cilpas funkcionalitāte. Laikā ciklā paziņojums tiek izpildīts tik ilgi, kamēr nosacījums paliek patiess. Apsveriet tālāk norādīto.
es := 1
priekš i <= 5 {
i *= 2
}
fmt.Drukāt(i)
Šajā kodā, kamēr i ir mazāks vai vienāds ar 5, tas tiek reizināts ar 2 katru reizi, kad cilpa darbojas.
A Do...Kamēr cilpa ir kustībā
Do...while cilpa atšķiras no cilpas while, jo cilpas pamatteksts tiks izpildīts vismaz vienu reizi. Ir divas pieejas, kā to ieviest programmā Go.
- Pārliecinieties, vai nosacījums pirmajai iterācijai ir iestatīts uz patiesu.
Tā kā sākotnējais nosacījums ir iestatīts uz patiesu, i tiek izdrukāts un pēc tam palielināts pirmajā iterācijā. Kopš nosacījuma (es <=5) otrās iterācijas laikā tiek novērtēts kā false, cilpa iziet.es := 10
priekš nākamais := taisnība; Nākamais; nākamais = i <= 5 {
fmt.Drukāt(i)
i++
}// Drukās 10
- Pirms stāvokļa pārbaudes vienreiz izpildiet cilpas pamattekstu.
Iepriekš minētajā for cilpā vispirms tiek izdrukāts 10, kas ir i vērtība, pēc tam tiek izpildīts priekšraksts if. Ja nosacījums ir patiess, cilpa pārtrūkst, pretējā gadījumā cilpa turpinās.es := 10
priekš {
fmt.Drukāt(i)
i++ja es >= 5 {
pārtraukums;
}
}// Drukās 10
Citi kontroles plūsmas paziņojumi
Programmēšanas cilpas ir svarīgas, jo tās vienkāršo atkārtotus uzdevumus un ietaupa laiku. Tā vietā, lai desmit reizes rakstītu koda rindiņu, varat vienkārši izveidot cilpu, kas darbojas desmit reizes. Citi vadības plūsmas priekšraksti ir if, if...else, if...else if...if un switch priekšraksti.
Kas jauns Go versijā 1.18
Lasiet Tālāk
Saistītās tēmas
- Programmēšana
- Programmēšana
Par autoru
Mary Gathoni ir programmatūras izstrādātāja, kuras aizraušanās ir tāda tehniska satura izveide, kas ir ne tikai informatīvs, bet arī saistošs. Kad viņa nekodē vai neraksta, viņai patīk pavadīt laiku ar draugiem un būt ārā.
Abonējiet mūsu biļetenu
Pievienojieties mūsu informatīvajam izdevumam, lai saņemtu tehniskos padomus, pārskatus, bezmaksas e-grāmatas un ekskluzīvus piedāvājumus!
Noklikšķiniet šeit, lai abonētu