স্কিপ করে মূল কন্টেন্ট এ যান

গ্লোবাল/লোকাল স্টোরেজ নিয়মাবলী

Wave স্টোরেজ জীবনকাল (স্টোরেজ) এবং পরিবর্তনশীলতা (মিউটেবিলিটি) কিওয়ার্ড স্তরে স্পষ্টভাবে আলাদা করে।

সারাংশ

  • গ্লোবাল কনস্ট্যান্ট: const
  • গ্লোবাল স্টোরেজ ভেরিয়েবল: static
  • লোকাল ভেরিয়েবল: var, let, let mut

অর্থাৎ, টপ-লেভেলে শুধুমাত্র const এবং static ঘোষণা করা হয় এবং ফাংশন/ব্লকের অভ্যন্তরীণ অবস্থানে শুধুমাত্র var এবং let সিরিজের ঘোষণা করা হয়।

বিশ্ব ধ্রুবক: const

const কম্পাইল-টাইম কনস্ট্যান্ট হিসেবে বিবেচিত হয় এবং পুনরায় বরাদ্দ করা যায় না।

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

বিশ্বব্যাপী সংরক্ষিত পরিবর্তনশীল: static

static হল একটি ভেরিয়েবল যা গ্লোবাল স্টোরেজ স্পেস ধারণ করে। এটি পুনঃবরাদ্দযোগ্য এবং যদি প্রাথমিক মান না দেওয়া হয় তবে টাইপের শূন্য মান দ্বারা প্রারম্ভিত হয়।

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 অপরিবর্তনীয় এবং পুনরায় বরাদ্দ করা যাবে না।