మాడ్యూల్ పాఠాలు (1/5)
వేరియబుల్స్ మరియు రకాలు
గోలో ప్రతి వేరియబుల్ కంపైలర్కు తెలిసిన స్టాటిక్ రకంని కలిగి ఉంటుంది: ఒకసారి ప్రకటించబడింది, వేరియబుల్ రకాన్ని మార్చదు. ఈ దృఢత్వం - చాలా భిన్నమైనది జావాస్క్రిప్ట్ లేదా పైథాన్ నుండి — కంపైల్-టైమ్ పొందడానికి మీరు చెల్లించే ధర రన్టైమ్ వాటికి బదులుగా లోపాలు, చిన్న బైనరీలు మరియు ఊహించదగినవి పనితీరు.
డిక్లరేషన్ యొక్క రెండు రూపాలు
var స్పష్టమైన రకంతో
var name string = "Ada"
var age int = 36
var active boolమీరు విలువను వదిలివేసినప్పుడు (var active boolలో వలె) వేరియబుల్ స్వీకరిస్తుంది
సున్నా విలువ దాని రకం — మేము తదుపరి పాఠంలో దీనికి తిరిగి వస్తాము.
సంక్షిప్త ప్రకటన :=
ఫంక్షన్లో మీరు :=ని ఉపయోగించవచ్చు, ఇది రకాన్ని ఊహించింది
కుడి వైపున వ్యక్తీకరణ. ఇది ఇడియోమాటిక్ రూపం మరియు మీరు ఉపయోగించేది
90% సమయం:
name := "Ada" // string
age := 36 // int
pi := 3.14 // float64
active := true // boolమీరు వెంటనే కలుసుకునే ప్రాథమిక రకాలు
| రకం | ఉదాహరణ | గమనికలు |
|---|---|---|
int | 42 | పరిమాణం CPU (32 లేదా 64 బిట్) పై ఆధారపడి ఉంటుంది |
float64 | 3.14 | దశాంశ అక్షరాల కోసం డిఫాల్ట్ |
string | "Ada" | UTF-8, మార్పులేని |
bool | true, false | "నిజం" లేదు, స్వచ్ఛమైన బూల్ మాత్రమే |
rune | 'A' | int32 యొక్క మారుపేరు, యూనికోడ్ కోడ్ పాయింట్ని సూచిస్తుంది |
byte | 0x7F | uint8 యొక్క మారుపేరు |
int8/16/32/64, uint8/16/32/64, float32 మరియు complex64/128 కూడా ఉన్నాయి
మీకు ఖచ్చితమైన పరిమాణాలు అవసరమైనప్పుడు (బైనరీ పార్సింగ్, ఇంటరాప్, మొదలైనవి).
బహుళ ప్రకటనలు
మీరు var-బ్లాక్ లేదా బహువచనం :=తో అనేక వేరియబుల్లను ప్రకటించవచ్చు:
var (
name string = "Ada"
age int = 36
active bool
)
x, y := 10, 20
a, b, c := "a", 2, true // different types: no problemవేరియబుల్స్ ప్రకటించబడ్డాయి కానీ ఉపయోగించబడలేదు
గో అనేది కఠినమైనది: వేరియబుల్ ప్రకటించబడింది మరియు ఎప్పుడూ ఉపయోగించని అనేది సంకలనం
లోపం, హెచ్చరిక కాదు. ఇది ఉపయోగించని importsకి వర్తిస్తుంది.
func main() {
x := 42
// error: x declared and not used
}నియమాన్ని తాత్కాలికంగా నిశ్శబ్దం చేయడానికి మీరు _ (ఖాళీ ఐడెంటిఫైయర్):
_ = xమీ వంతు
'Ada' విలువతో టైప్ స్ట్రింగ్ యొక్క వేరియబుల్ పేరును ప్రకటించడానికి varని ఉపయోగించండి మరియు దానిని ప్రింట్ చేయండి.
సూచనను చూపించు
దీర్ఘ రూపం `var <name> <type> = <value>`.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
ఒకే లైన్లో, వయస్సుకి 36 మరియు నగరానికి 'రోమా'ని కేటాయించడానికి := ఉపయోగించండి, ఆపై రెండింటినీ ప్రింట్ చేయండి.
సూచనను చూపించు
మీరు ఒకేసారి బహుళ వేరియబుల్లను కేటాయించవచ్చు: `a, b := 1, "dee"`.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
ఈ డిక్లరేషన్లలో ఏది ఫంక్షన్ వెలుపల ఉంచినట్లయితే కంపైలేషన్ లోపాన్ని ఉత్పత్తి చేస్తుంది?
// (a)
var name string = "Ada"
// (b)
age := 36
// (c)
const PI = 3.14రీక్యాప్
- స్టాటిక్ రకం, స్వయంచాలకంగా
:=ద్వారా ఊహించబడింది లేదాvarతో ప్రకటించబడింది. :=ఫంక్షన్ల లోపల మాత్రమే; ప్యాకేజీ స్థాయిలో మాత్రమేvar/const.- ఉపయోగించని వేరియబుల్స్ మరియు దిగుమతులు = కంపైలేషన్ లోపం: వాటిని నిశ్శబ్దం చేయడానికి
_ని ఉపయోగించండి. int/float64/string/boolరోజువారీ కేసుల్లో 90% కవర్ చేస్తుంది.