మాడ్యూల్ పాఠాలు (2/2)
ఆదిమ రకాలు
రస్ట్ అనేది స్టాటిక్గా టైప్ చేయబడిన భాష, అంటే ఇది కంపైల్ సమయంలో అన్ని వేరియబుల్స్ రకాన్ని తప్పనిసరిగా తెలుసుకోవాలి. సాధారణంగా, కంపైలర్ కేటాయించిన విలువ ఆధారంగా రకాన్ని ఊహించవచ్చు, కానీ కొన్నిసార్లు దానిని మాన్యువల్గా పేర్కొనడం అవసరం లేదా సహాయకరంగా ఉంటుంది.
రస్ట్లోని ఆదిమ రకాలు రెండు ప్రధాన వర్గాలుగా విభజించబడ్డాయి: ** స్కేలార్లు ** (ఒకే విలువ) మరియు ** సమ్మేళనాలు ** (విలువల సమూహం).
స్కేలార్ రకాలు
స్కేలార్ రకాలు ఒకే విలువను సూచిస్తాయి. రస్ట్ నాలుగు ప్రాథమిక స్కేలార్ రకాలను కలిగి ఉంది:
- పూర్ణాంకాలు: పూర్ణ సంఖ్యలు. వారు సంతకం చేయవచ్చు (
i8,i16,i32,i64,i128,isize) లేదా సంతకం చేయని (**LINEYTO,**LINEYTOu16,u32,u64,u128,usize). డిఫాల్ట్ రకంi32. - ఫ్లోటింగ్ పాయింట్: దశాంశ బిందువులతో సంఖ్యలు. అవి
f32లేదాf64(డబుల్ ఖచ్చితత్వం, డిఫాల్ట్) కావచ్చు. - బూలియన్స్:
trueలేదాfalse(రకంbool)తో తార్కిక సత్యాన్ని సూచించండి. - అక్షరాలు: ఒకే కోట్లలో (రకం
char) జతచేయబడిన ఒకే యూనికోడ్ స్కేలార్ విలువ, ఉదా.,'a','ℤ', లేదా ఎమోజి __AGY2TOK_IN_LINE_21_IN
స్పష్టమైన రకం ఉల్లేఖనానికి ఉదాహరణ:
let x: i64 = 42;
let y: f64 = 3.1415;
let is_rust_awesome: bool = true;
let heart_emoji: char = '❤';సమ్మేళనం రకాలు
సమ్మేళనం రకాలు బహుళ విలువలను ఒకే రకంగా సమూహపరచగలవు. రస్ట్ రెండు ప్రధాన ఆదిమ సమ్మేళన రకాలను కలిగి ఉంది:
టుపుల్స్
ఒక tuple విభిన్న రకాల విలువలను స్థిర-పరిమాణ సేకరణలో సమూహపరుస్తుంది:
let person: (String, i32) = (String::from("Alice"), 30);
// Destructuring to extract values
let (name, age) = person;
// Direct access with index using dot (.)
let name_direct = person.0;
let age_direct = person.1;శ్రేణులు (స్థిర-పరిమాణ జాబితాలు)
ఒక అరే స్టాక్లో నిల్వ చేయబడిన స్థిర-పరిమాణ సేకరణలో ఒకే రకం యొక్క బహుళ మూలకాలను సమూహపరుస్తుంది:
let numbers = [1, 2, 3, 4, 5]; // Inferred as [i32; 5]
let first = numbers[0]; // Access by index
let third = numbers[2];మీరు శ్రేణి సరిహద్దుల వెలుపల ఇండెక్స్ను యాక్సెస్ చేయడానికి ప్రయత్నిస్తే (ఉదా., numbers[10]), అనధికార మెమరీ యాక్సెస్ని అనుమతించే బదులు రన్టైమ్లో రస్ట్ వెంటనే క్రాష్ అవుతుంది (పానిక్).
పోలిక
| ఫీచర్ | టుపుల్ | అర్రే |
|---|---|---|
| మూలకాల రకాలు | భిన్నంగా ఉండవచ్చు | ఒకేలా ఉండాలి |
| పరిమాణం | స్థిర | స్థిర |
| యాక్సెస్ | డాట్ ద్వారా సూచిక (ఉదా., .0) | స్క్వేర్ బ్రాకెట్లు (ఉదా., [0]) |
మీరే ప్రయత్నించండి
వయస్సు 30 (పూర్ణాంకం) మరియు స్కోరు 95.5 (ఫ్లోట్) ఉన్న టుపుల్ అనే గణాంకాలను ప్రకటించండి. తరువాత, టుపుల్ యొక్క రెండవ మూలకాన్ని దాని సూచికను ఉపయోగించి నేరుగా యాక్సెస్ చేయడం ద్వారా స్క్రీన్పై స్కోర్ను ప్రింట్ చేయండి.
సూచనను చూపించు
`లెట్ గణాంకాలు = (30, 95.5);`తో టుపుల్ని సృష్టించండి. `println!` మాక్రో లోపల `stats.1`ని ఉపయోగించి రెండవ మూలకాన్ని యాక్సెస్ చేయండి.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
1 నుండి 5 వరకు పూర్ణాంకాల విలువలను కలిగి ఉన్న శ్రేణి పేరు గల సంఖ్యలను ప్రకటించండి. శ్రేణి యొక్క మూడవ మూలకాన్ని (సూచిక 2) println ఉపయోగించి స్క్రీన్పై ముద్రించండి!.
సూచనను చూపించు
`లెట్ నంబర్స్ = [1, 2, 3, 4, 5];`తో శ్రేణిని ప్రకటించండి మరియు `[2]`తో ఇండెక్స్ చేయడం ద్వారా మూడవ మూలకాన్ని యాక్సెస్ చేయండి.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
టుపుల్ `లెట్ పాయింట్ = (10, 20);` ఇచ్చినట్లయితే, విలువలను `x` మరియు `y` అనే రెండు వేరియబుల్స్గా ఎక్స్ట్రాక్ట్ చేయడానికి డిస్ట్రక్చరింగ్ ఉపయోగించండి. ఆపై, `x` మరియు `y` మొత్తాన్ని ప్రింట్ చేయండి.
సూచనను చూపించు
టుపుల్ను నాశనం చేయడానికి `let (x, y) = point;` అనే వాక్యనిర్మాణాన్ని ఉపయోగించండి, ఆపై వేరియబుల్స్ను `println!`లో సంకలనం చేయండి.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది