Skip to main content

గ్లోబల్/లోకల్ నిల్వ నియమాలు

Wave కీవర్డ్ స్థాయిలో నిల్వ మరియు మ్యుటబిలిటీ మధ్య తేడాను స్పష్టంగా చూపుతుంది.

సారాంశం

  • గ్లోబల్ స్థిరాంకం: const
  • ప్రపంచవ్యాప్తంగా నిల్వ చేయబడిన వేరియబుల్: static
  • స్థానిక వేరియబుల్స్: var, let, let mut

మరో మాటలో చెప్పాలంటే, const మరియు static మాత్రమే అత్యున్నత స్థాయి వద్ద ప్రకటించబడ్డాయి, ** ఫంక్షన్/బ్లాక్ అంతర్గత ప్రాంతంలో var మరియు let సిరీస్‌లు మాత్రమే ప్రకటించబడ్డాయి**.

గ్లోబల్ స్థిరాంకం: const

const కంపైల్-టైమ్ స్థిరాంకం వలె పరిగణించబడుతుంది మరియు తిరిగి కేటాయించబడదు.

const PAGE_SIZE: i32 = 4096;
const MAGIC: i32 = 0x1BADB002;

ప్రపంచవ్యాప్తంగా నిల్వ చేయబడిన వేరియబుల్: static

static అనేది గ్లోబల్ స్టోరేజ్ స్పేస్‌తో కూడిన వేరియబుల్. ఇది తిరిగి కేటాయించబడుతుంది మరియు ప్రారంభ విలువ ఇవ్వకపోతే, అది రకం యొక్క 0 విలువకు ప్రారంభించబడుతుంది.

static COUNTER: i32 = 0;
static VGA_BUFFER: ptr<char> = 0xb8000 as ptr<char>;

స్థానిక వేరియబుల్స్: var / let

ఫంక్షన్‌లు లేదా బ్లాక్‌ల లోపల, స్థానిక వేరియబుల్ కీలకపదాలు మాత్రమే ఉపయోగించబడతాయి.

fun main() -> i32 {
var x: i32 = 10;
let y: i32 = 20;
let mut z: i32 = 30;

x = x + 1;
z = z + 1;
return x + y + z;
}

పరిమితులు

  • var, let ఉన్నత స్థాయిలో ఉపయోగించబడదు.
  • const, static ఫంక్షన్/బ్లాక్ లోపల ఉపయోగించబడదు.
  • let మార్పులేనిది మరియు తిరిగి కేటాయించబడదు.