ప్రధాన కంటెంట్‌కు వెళ్లండి
మాడ్యూల్ 1 · 2లో పాఠం 2కోర్సులో 2/14~10 min
మాడ్యూల్ పాఠాలు (2/2)

ఆదిమ రకాలు

రస్ట్ అనేది స్టాటిక్‌గా టైప్ చేయబడిన భాష, అంటే ఇది కంపైల్ సమయంలో అన్ని వేరియబుల్స్ రకాన్ని తప్పనిసరిగా తెలుసుకోవాలి. సాధారణంగా, కంపైలర్ కేటాయించిన విలువ ఆధారంగా రకాన్ని ఊహించవచ్చు, కానీ కొన్నిసార్లు దానిని మాన్యువల్‌గా పేర్కొనడం అవసరం లేదా సహాయకరంగా ఉంటుంది.

రస్ట్‌లోని ఆదిమ రకాలు రెండు ప్రధాన వర్గాలుగా విభజించబడ్డాయి: ** స్కేలార్లు ** (ఒకే విలువ) మరియు ** సమ్మేళనాలు ** (విలువల సమూహం).

స్కేలార్ రకాలు

స్కేలార్ రకాలు ఒకే విలువను సూచిస్తాయి. రస్ట్ నాలుగు ప్రాథమిక స్కేలార్ రకాలను కలిగి ఉంది:

  1. పూర్ణాంకాలు: పూర్ణ సంఖ్యలు. వారు సంతకం చేయవచ్చు (i8, i16, i32, i64, i128, isize) లేదా సంతకం చేయని (**LINEYTO,**LINEYTO u16, u32, u64, u128, usize). డిఫాల్ట్ రకం i32.
  2. ఫ్లోటింగ్ పాయింట్: దశాంశ బిందువులతో సంఖ్యలు. అవి f32 లేదా f64 (డబుల్ ఖచ్చితత్వం, డిఫాల్ట్) కావచ్చు.
  3. బూలియన్స్: true లేదా false (రకం bool)తో తార్కిక సత్యాన్ని సూచించండి.
  4. అక్షరాలు: ఒకే కోట్‌లలో (రకం char) జతచేయబడిన ఒకే యూనికోడ్ స్కేలార్ విలువ, ఉదా., 'a', 'ℤ', లేదా ఎమోజి __AGY2TOK_IN_LINE_21_IN

స్పష్టమైన రకం ఉల్లేఖనానికి ఉదాహరణ:

Rust
let x: i64 = 42;
let y: f64 = 3.1415;
let is_rust_awesome: bool = true;
let heart_emoji: char = '❤';

సమ్మేళనం రకాలు

సమ్మేళనం రకాలు బహుళ విలువలను ఒకే రకంగా సమూహపరచగలవు. రస్ట్ రెండు ప్రధాన ఆదిమ సమ్మేళన రకాలను కలిగి ఉంది:

టుపుల్స్

ఒక tuple విభిన్న రకాల విలువలను స్థిర-పరిమాణ సేకరణలో సమూహపరుస్తుంది:

Rust
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;

శ్రేణులు (స్థిర-పరిమాణ జాబితాలు)

ఒక అరే స్టాక్‌లో నిల్వ చేయబడిన స్థిర-పరిమాణ సేకరణలో ఒకే రకం యొక్క బహుళ మూలకాలను సమూహపరుస్తుంది:

Rust
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])

మీరే ప్రయత్నించండి

వ్యాయామం#rust.m1.l2.e1
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

వయస్సు 30 (పూర్ణాంకం) మరియు స్కోరు 95.5 (ఫ్లోట్) ఉన్న టుపుల్ అనే గణాంకాలను ప్రకటించండి. తరువాత, టుపుల్ యొక్క రెండవ మూలకాన్ని దాని సూచికను ఉపయోగించి నేరుగా యాక్సెస్ చేయడం ద్వారా స్క్రీన్‌పై స్కోర్‌ను ప్రింట్ చేయండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

`లెట్ గణాంకాలు = (30, 95.5);`తో టుపుల్‌ని సృష్టించండి. `println!` మాక్రో లోపల `stats.1`ని ఉపయోగించి రెండవ మూలకాన్ని యాక్సెస్ చేయండి.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

వ్యాయామం#rust.m1.l2.e2
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

1 నుండి 5 వరకు పూర్ణాంకాల విలువలను కలిగి ఉన్న శ్రేణి పేరు గల సంఖ్యలను ప్రకటించండి. శ్రేణి యొక్క మూడవ మూలకాన్ని (సూచిక 2) println ఉపయోగించి స్క్రీన్‌పై ముద్రించండి!.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

`లెట్ నంబర్స్ = [1, 2, 3, 4, 5];`తో శ్రేణిని ప్రకటించండి మరియు `[2]`తో ​​ఇండెక్స్ చేయడం ద్వారా మూడవ మూలకాన్ని యాక్సెస్ చేయండి.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

వ్యాయామం#rust.m1.l2.e3
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

టుపుల్ `లెట్ పాయింట్ = (10, 20);` ఇచ్చినట్లయితే, విలువలను `x` మరియు `y` అనే రెండు వేరియబుల్స్‌గా ఎక్స్‌ట్రాక్ట్ చేయడానికి డిస్ట్రక్చరింగ్ ఉపయోగించండి. ఆపై, `x` మరియు `y` మొత్తాన్ని ప్రింట్ చేయండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

టుపుల్‌ను నాశనం చేయడానికి `let (x, y) = point;` అనే వాక్యనిర్మాణాన్ని ఉపయోగించండి, ఆపై వేరియబుల్స్‌ను `println!`లో సంకలనం చేయండి.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది