தொகுதி பாடங்கள் (1/5)
if, else, மற்றும் init அறிக்கைகள்
Go இல் if தொடரியல் கிளாசிக் ஒன்றாகும் ஆனால் இரண்டு முக்கிய வேறுபாடுகள் உள்ளன
C/Java உடன் ஒப்பிடும்போது: அடைப்புக்குறிகள் இல்லை நிபந்தனையைச் சுற்றி, மற்றும்
if இல் நேரடியாக ஒரு தற்காலிக மாறியை அறிவிக்கும் திறன்
(init அறிக்கை).
அடிப்படை தொடரியல்
if temperatura > 30 {
fmt.Println("caldo")
} else if temperatura > 20 {
fmt.Println("mite")
} else {
fmt.Println("fresco")
}பிரேஸ்கள் கட்டாயம், ஒற்றை வரித் தொகுதிகளுக்கும் கூட. தி
நிபந்தனை bool வகையாக இருக்க வேண்டும்: Python அல்லது JS போன்ற "உண்மை" இல்லை.
n := 0
// if n { ... } // ERRORE: int non è bool
if n != 0 { ... } // okInit அறிக்கை: ஸ்கோப் வரம்பிற்கு உட்பட்டது
if/else-க்குள் செல்லுபடியாகும் மட்டும் மாறியை அறிவிக்கலாம்,
; உடன் நிபந்தனையிலிருந்து பிரிக்கிறது:
if v, err := call(); err == nil {
fmt.Println("ok", v)
} else {
fmt.Println("ko", err)
}
// qui v ed err NON esistono piùவெளிப்புற நோக்கத்தை மாசுபடுத்தாமல் பிழைகளைக் கையாள்வதற்கான மொழியியல் முறை இது.
if ஸ்கோப்பில் நிழல்
ஒரு வெளிப்புற மாறியானது init ஆல் "நிழல்" பெற்றால், உள்ளே உள்ளூர் பதிப்பு வெற்றி பெற்றால். உடனே, வெளிப்புறம் மீண்டும் வெளிப்படுகிறது.
x := 10
if x := 3; x > 5 {
fmt.Println("dentro:", x) // mai stampato (3 < 5)
} else {
fmt.Println("else:", x) // 3
}
fmt.Println("dopo:", x) // 10 — quella esternaமும்முனை ஆபரேட்டர் இல்லை
Go இல் cond ? a : b இல்லை. நிபந்தனை பணிகளுக்கு உங்களுக்கு if/else தேவை
3-4 வரிகளில் — இது வாசிப்புத்திறனுக்கு ஆதரவான ஒரு வடிவமைப்புத் தேர்வாகும்.
var label string
if age >= 18 {
label = "adulto"
} else {
label = "minore"
}முயற்சி செய்து பாருங்கள்
n இன் மதிப்பைப் பொறுத்து 'positivo', 'zero' அல்லது 'negativo' அச்சிடவும்.
குறிப்பைக் காட்டு
அடையாளத்தில் நிபந்தனைகளுடன் `எனில் / வேறு என்றால் / வேறு` சங்கிலி.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்
if இல் v := 42 ஐ அறிவிக்க init அறிக்கையைப் பயன்படுத்தவும் மற்றும் v >= 18 எனில் மட்டும் அச்சிடவும்.
குறிப்பைக் காட்டு
தொடரியல்: `இனிட் என்றால்; நிபந்தனை { ... }`.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்
இந்த நிரல் என்ன அச்சிடுகிறது?
x := 10
if x := 3; x > 5 {
fmt.Println("dentro:", x)
} else {
fmt.Println("else:", x)
}
fmt.Println("dopo:", x)மறுபரிசீலனை
- அடைப்புக்குறிகள் இல்லாத நிபந்தனைகள், பிரேஸ்கள் எப்போதும் கட்டாயம்.
- நிபந்தனை
boolஆக இருக்க வேண்டும்: மறைமுக உண்மை இல்லை. - Init
if v, err := f(); err == nil { ... }vமற்றும்errஇன் வரம்பைக் கட்டுப்படுத்துகிறது. - init இல் நிழல்: வெளிப்புற மாறிகள் நிழலாடாமல் கவனமாக இருங்கள்.
- மும்மை இல்லை: விரிவாக்கப்பட்ட
if/else.