தொகுதி பாடங்கள் (2/5)
இதற்கு: ஒரே வளையம்
Goவில் ஒரே லூப் கன்ஸ்ட்ரக்ட் உள்ளது: for. இல்லை while, இல்லை
do-while, இல்லை foreach (அது அடுத்த பாடத்தில் வரும்
range). ஒரு முக்கிய சொல் மூன்று படிவங்களுக்கு நன்றி அனைத்து நிகழ்வுகளையும் உள்ளடக்கியது.
for இன் மூன்று வடிவங்கள்
கிளாசிக் மூன்று-பிரிவு வடிவம்
சி/ஜாவாவை ஒத்தது:
for i := 0; i < 5; i++ {
fmt.Println(i)
}i forக்கு வரம்புக்குட்பட்டது. மூன்று உட்பிரிவுகள் விருப்பமானவை (உங்களால் முடியும்
அவற்றில் ஏதேனும் ஒன்றைத் தவிர்க்கவும்) ஆனால் இடைநிலை ஒன்றைத் தவிர்த்துவிட்டால் ; இருக்கும்.
"while" வடிவம்: நிபந்தனை மட்டும்
Go இல், for ஒற்றை bool வெளிப்பாடு:
i := 0
for i < 5 {
fmt.Println(i)
i++
}எல்லையற்ற வடிவம்
உட்பிரிவுகள் இல்லாமல், லூப் முடிவடையாது (break/return வரை):
for {
if exitCondition() {
break
}
doWork()
}இது நிகழ்வு கையாளுதல் சுழல்கள், சேவையகங்கள், மறுமுயற்சிக் கொள்கைகளுக்கான வடிவமாகும்.
break, continue மற்றும் லேபிள்கள்
break உள் லூப்பில் இருந்து வெளியேறுகிறது, continue அடுத்த மறு செய்கைக்குச் செல்கிறது:
for i := 0; i < 10; i++ {
if i%2 == 0 {
continue // salta i pari
}
if i > 7 {
break // ferma il ciclo
}
fmt.Println(i) // 1 3 5 7
}உள்ளமைக்கப்பட்ட சுழல்களிலிருந்து வெளியேற, லேபிள்கள் (அரிதான ஆனால் பயனுள்ளவை):
Esterno:
for i := 0; i < 3; i++ {
for j := 0; j < 3; j++ {
if i*j == 4 {
break Esterno // esce da entrambi
}
}
}C இல் உள்ளதைப் போல , ஆபரேட்டர் இல்லை
கோவில் நீங்கள் for i, j := 0, 10; i < j; i, j = i+1, j-1 என்று எழுத முடியாது:
பிந்தைய வெளிப்பாடு பல பணிகளை ஏற்கவில்லை. Go ஐப் பயன்படுத்தவும்
பல பணிகளின் தொடரியல்:
for i, j := 0, 10; i < j; i, j = i+1, j-1 {
fmt.Println(i, j)
}i, j = i+1, j-1 ஒற்றை என்பதால் இது ** வேலை செய்கிறது**
பல பணி.
முயற்சி செய்து பாருங்கள்
0 முதல் 4 வரையிலான எண்களை ஒரு உன்னதமான மூன்று-பிரிவுகளுடன் சேர்த்து அச்சிடவும்.
குறிப்பைக் காட்டு
`initக்கு; காண்ட்; இடுகை { ... }` — இங்கே init `i := 0`.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்
for இன் 'while' படிவத்தைப் பயன்படுத்தி 1 முதல் 10 வரை உள்ள அனைத்து எண்களையும் கூட்டவும்.
குறிப்பைக் காட்டு
'while' படிவம்: `<condition> { ... }`.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்
கோவில் எல்லையற்ற வளையத்தைக் குறிக்கும் வடிவம் எது?
// (a) for i := 0; i < 10; i++ { ... }
// (b) for cond { ... }
// (c) for { ... }மறுபரிசீலனை
forஎன்ற ஒற்றைச் சொல் மூன்று வடிவங்களைக் கொண்டது: கிளாசிக், அதே நேரத்தில், எல்லையற்றது.break/continueவிருப்பமாக உள்ளமைக்கப்பட்ட சுழல்களுக்கான லேபிளுடன்.forக்கு முன்Name:லேபிள், குறைவாகவே பயன்படுத்தப்பட்டது.- ஆபரேட்டராக
,இல்லை: பல ஒதுக்கீட்டைப் பயன்படுத்தவும்i, j = ..., ....