Skip to main content

ዓለም አቀፍ / የአካባቢ ማከማቻ ደንቦች

Wave በቁልፍ ቃል ደረጃ ማከማቻ እና ተለዋዋጭነትን በግልፅ ይለያል።

ማጠቃለያ

  • ዓለም አቀፍ ቋሚ: const
  • በአለምአቀፍ ደረጃ የተከማቸ ተለዋዋጭ፡ static
  • የአካባቢ ተለዋዋጮች፡ varletlet 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;
}

ገደቦች

  • varlet በከፍተኛ ደረጃ መጠቀም አይቻልም።
  • conststatic ተግባር/ብሎክ ውስጥ መጠቀም አይቻልም።
  • let የማይለወጥ ነው እና እንደገና ሊመደብ አይችልም።