முக்கிய உள்ளடக்கத்திற்குச் செல்லவும்
தொகுதி 2 · பாடம் 2 இன் 5பாடத்திட்டத்தில் 7/50~10 min
தொகுதி பாடங்கள் (2/5)

இதற்கு: ஒரே வளையம்

Goவில் ஒரே லூப் கன்ஸ்ட்ரக்ட் உள்ளது: for. இல்லை while, இல்லை do-while, இல்லை foreach (அது அடுத்த பாடத்தில் வரும் range). ஒரு முக்கிய சொல் மூன்று படிவங்களுக்கு நன்றி அனைத்து நிகழ்வுகளையும் உள்ளடக்கியது.

for இன் மூன்று வடிவங்கள்

கிளாசிக் மூன்று-பிரிவு வடிவம்

சி/ஜாவாவை ஒத்தது:

Go
for i := 0; i < 5; i++ {
    fmt.Println(i)
}

i forக்கு வரம்புக்குட்பட்டது. மூன்று உட்பிரிவுகள் விருப்பமானவை (உங்களால் முடியும் அவற்றில் ஏதேனும் ஒன்றைத் தவிர்க்கவும்) ஆனால் இடைநிலை ஒன்றைத் தவிர்த்துவிட்டால் ; இருக்கும்.

"while" வடிவம்: நிபந்தனை மட்டும்

Go இல், for ஒற்றை bool வெளிப்பாடு:

Go
i := 0
for i < 5 {
    fmt.Println(i)
    i++
}

எல்லையற்ற வடிவம்

உட்பிரிவுகள் இல்லாமல், லூப் முடிவடையாது (break/return வரை):

Go
for {
    if exitCondition() {
        break
    }
    doWork()
}

இது நிகழ்வு கையாளுதல் சுழல்கள், சேவையகங்கள், மறுமுயற்சிக் கொள்கைகளுக்கான வடிவமாகும்.

break, continue மற்றும் லேபிள்கள்

break உள் லூப்பில் இருந்து வெளியேறுகிறது, continue அடுத்த மறு செய்கைக்குச் செல்கிறது:

Go
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
}

உள்ளமைக்கப்பட்ட சுழல்களிலிருந்து வெளியேற, லேபிள்கள் (அரிதான ஆனால் பயனுள்ளவை):

Go
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 ஐப் பயன்படுத்தவும் பல பணிகளின் தொடரியல்:

Go
for i, j := 0, 10; i < j; i, j = i+1, j-1 {
    fmt.Println(i, j)
}

i, j = i+1, j-1 ஒற்றை என்பதால் இது ** வேலை செய்கிறது** பல பணி.

முயற்சி செய்து பாருங்கள்

உடற்பயிற்சி#go.m2.l2.e1
முயற்சிகள்: 0ஏற்றுகிறது…

0 முதல் 4 வரையிலான எண்களை ஒரு உன்னதமான மூன்று-பிரிவுகளுடன் சேர்த்து அச்சிடவும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

`initக்கு; காண்ட்; இடுகை { ... }` — இங்கே init `i := 0`.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

உடற்பயிற்சி#go.m2.l2.e2
முயற்சிகள்: 0ஏற்றுகிறது…

for இன் 'while' படிவத்தைப் பயன்படுத்தி 1 முதல் 10 வரை உள்ள அனைத்து எண்களையும் கூட்டவும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

'while' படிவம்: `<condition> { ... }`.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

Quiz#go.m2.l2.e3
தயார்

கோவில் எல்லையற்ற வளையத்தைக் குறிக்கும் வடிவம் எது?

Go
// (a) for i := 0; i < 10; i++ { ... }
// (b) for cond { ... }
// (c) for { ... }
பதில் விருப்பங்கள்

மறுபரிசீலனை

  • for என்ற ஒற்றைச் சொல் மூன்று வடிவங்களைக் கொண்டது: கிளாசிக், அதே நேரத்தில், எல்லையற்றது.
  • break / continue விருப்பமாக உள்ளமைக்கப்பட்ட சுழல்களுக்கான லேபிளுடன்.
  • forக்கு முன் Name: லேபிள், குறைவாகவே பயன்படுத்தப்பட்டது.
  • ஆபரேட்டராக , இல்லை: பல ஒதுக்கீட்டைப் பயன்படுத்தவும் i, j = ..., ....