మాడ్యూల్ పాఠాలు (3/5)
స్థిరాంకాలు మరియు అయోటా
** స్థిరాంకాలు** అనేది కంపైల్ సమయంలో తెలిసిన మార్పులేని విలువలు. గో లో వారు ఉన్నారు
constతో ప్రకటించబడింది మరియు typed లేదా untyped చేయవచ్చు. టైప్ చేయని వాటికి a
సూపర్ పవర్: అవి సందర్భానికి అవసరమైన రకానికి అనుగుణంగా ఉంటాయి, మిమ్మల్ని విడిచిపెడతాయి
స్పష్టమైన మార్పిడులను వ్రాయడం నుండి.
ప్రాథమిక వాక్యనిర్మాణం
const PI = 3.14
const MaxRetry int = 5
const Name = "eLearner"MaxRetry టైప్ చేయబడింది (int): మీరు దీన్ని intకి మాత్రమే కేటాయించగలరు.
PI మరియు Name ** టైప్ చేయబడలేదు**: అవి "అక్షరాలా" లాగా ప్రవర్తిస్తాయి మరియు వాటికి అనుగుణంగా ఉంటాయి
సందర్భం.
const PI = 3.14
var f float32 = PI // ok: PI è non tipata, diventa float32
var d float64 = PI // okconst బ్లాక్లు
మీరు ఒక బ్లాక్లో అనేక స్థిరాంకాలను సమూహపరచవచ్చు:
const (
StateInitial = "INIT"
StateReady = "READY"
StateError = "ERROR"
)iota: గణన కౌంటర్
const బ్లాక్ లోపల, ప్రత్యేక ఐడెంటిఫైయర్ iota 0కి ప్రారంభమవుతుంది
మరియు ప్రతి లైన్లో 1 ఇంక్రిమెంట్లు. ఇది గణనలను రూపొందించడానికి ఇడియమ్:
const (
Monday = iota // 0
Tuesday // 1
Wednesday // 2
Thursday // 3
Friday // 4
)తదుపరి పంక్తులు ఒకదాన్ని అందించకపోతే ** వ్యక్తీకరణను వారసత్వంగా పొందుతాయి**.
అందుకే = iota అని పునరావృతం చేయకుండా Tuesday అని వ్రాస్తే సరిపోతుంది.
వ్యక్తీకరణలతో నమూనాలు
iota ఏకపక్ష వ్యక్తీకరణలలో కనిపించవచ్చు:
const (
KB = 1 << (10 * (iota + 1)) // 1 << 10 = 1024
MB // 1 << 20
GB // 1 << 30
TB // 1 << 40
)విలువను దాటవేయడం
మీరు పంక్తికి విలువను కేటాయించకూడదనుకుంటే (మీకు iota కావాలి కాబట్టి
ఏమైనప్పటికీ ఇంక్రిమెంట్), ఖాళీ ఐడెంటిఫైయర్ ఉపయోగించండి _:
const (
_ = iota // scarta 0
KB // 1
MB // 2
)మీ వంతు
ప్యాకేజీ స్థాయిలో 3.14 విలువతో స్థిరమైన PIని ప్రకటించండి, ఆపై దాన్ని మెయిన్లో ముద్రించండి.
సూచనను చూపించు
`const PI = 3.14` ప్యాకేజీ స్థాయిలో, మెయిన్ వెలుపల వెళ్తుంది.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
iotaని ఉపయోగించి 1 నుండి సంఖ్యతో వారంలోని రోజులు (సోమవారం, మంగళవారం, బుధవారం) కాన్స్ట్ బ్లాక్ను నిర్వచించండి.
సూచనను చూపించు
బ్లాక్ యొక్క మొదటి పంక్తిలో `iota + 1` ఉపయోగించండి; తదుపరి పంక్తులు వ్యక్తీకరణను వారసత్వంగా పొందుతాయి.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
ఈ ప్రోగ్రామ్ ఏమి ముద్రిస్తుంది?
const (
A = iota * 2
B
C
)
fmt.Println(A, B, C)రీక్యాప్
constకంపైల్ సమయంలో తెలిసిన మార్పులేని విలువల కోసం.- టైప్ చేయని స్థిరాంకాలు సందర్భానికి అనుగుణంగా ఉంటాయి: మార్పిడి అవసరం లేదు.
const ( ... )సమూహ సంబంధిత విలువలను బ్లాక్ చేస్తుంది.iotaప్రతి బ్లాక్లో 0 వద్ద ప్రారంభమవుతుంది మరియు లైన్ వారీగా పెరుగుతుంది.- నమూనాలు: enum (
= iota), బిట్మాస్క్ (= 1 << iota), యూనిట్లు (= 1 << (10*iota)).