Scalar এবং Compound Data Types

Variables, Data Types এবং Shadowing (ভেরিয়েবলস, ডেটা টাইপস এবং শ্যাডোইং) - রাস্ট (Rust) - Computer Programming

262

Scalar Data Types (স্কেলার ডেটা টাইপস)

স্কেলার ডেটা টাইপগুলি এমন ডেটা টাইপ যা একক মান ধারণ করতে পারে। অর্থাৎ, এগুলো একক মান বা একটি মাত্র মানের উপস্থাপন করে। রাস্টে স্কেলার ডেটা টাইপগুলি হলো:

১. Integer Types (পূর্ণসংখ্যা টাইপ)

রাস্টে পূর্ণসংখ্যা টাইপগুলি হলো signed এবং unsigned, যেগুলি ভেরিয়েবলগুলোতে পূর্ণসংখ্যা ধারণ করতে সাহায্য করে। প্রতিটি টাইপ নির্দিষ্ট সাইজের (বিটস) হয়ে থাকে।

  • signed integers: সাইনযুক্ত পূর্ণসংখ্যা ধারণ করে, যেগুলিতে ধনাত্মক এবং ঋণাত্মক উভয় মান থাকতে পারে।
    • i8, i16, i32, i64, i128 (সর্বোচ্চ 128-বিট পর্যন্ত)
  • unsigned integers: সাইনবিহীন পূর্ণসংখ্যা, যার মান সবসময় ধনাত্মক।
    • u8, u16, u32, u64, u128

উদাহরণ:

let x: i32 = 100;  // signed integer
let y: u32 = 200;  // unsigned integer

২. Floating-point Types (ফ্লোটিং পয়েন্ট টাইপ)

ফ্লোটিং পয়েন্ট টাইপগুলি দশমিক সংখ্যাগুলি ধারণ করে, যেমন 3.14 বা -2.5। রাস্টে দুইটি ফ্লোটিং পয়েন্ট টাইপ আছে:

  • f32: 32-বিট ফ্লোটিং পয়েন্ট সংখ্যা
  • f64: 64-বিট ফ্লোটিং পয়েন্ট সংখ্যা (ডিফল্ট টাইপ)

উদাহরণ:

let a: f32 = 3.14;  // 32-bit floating point number
let b: f64 = 3.14159;  // 64-bit floating point number

৩. Boolean Type (বুলিয়ান টাইপ)

বুলিয়ান টাইপ শুধু দুটি মান ধারণ করতে পারে, true অথবা false। এটি শর্তমূলক পরীক্ষায় ব্যবহৃত হয়।

  • bool: একটি বুলিয়ান মান, যার মান true বা false

উদাহরণ:

let is_active: bool = true;
let is_completed: bool = false;

৪. Character Type (অক্ষর টাইপ)

অক্ষর টাইপটি একটি একক অক্ষর বা চিহ্ন ধারণ করে। এটি সাধারণত একটি ইউনিকোড স্কেলেড অক্ষর হিসেবে কাজ করে।

  • char: একটি একক অক্ষর ধারণ করে যা ইউনিকোডের মাধ্যমে প্রতিনিধিত্ব করা হয়।

উদাহরণ:

let c: char = 'A';  // character type
let symbol: char = '#';  // another character

Compound Data Types (কম্পাউন্ড ডেটা টাইপস)

কম্পাউন্ড ডেটা টাইপগুলি একাধিক মান ধারণ করতে সক্ষম। এগুলি একাধিক ডেটা টাইপ একত্রে ধারণ করতে পারে এবং গঠনমূলকভাবে ডেটাকে একত্রে রাখে। রাস্টে দুটি প্রধান কম্পাউন্ড ডেটা টাইপ রয়েছে:

১. Tuple (টিউপল)

টিউপল হল একাধিক মান ধারণকারী একটি কম্পাউন্ড ডেটা টাইপ, যেটি বিভিন্ন ধরনের ডেটা টাইপের মান রাখতে পারে। টিউপলের মধ্যে ধার্য করা মানগুলো অপরিবর্তনীয় (immutable) এবং প্রতিটি উপাদান আলাদা টাইপের হতে পারে।

উদাহরণ:

let tup: (i32, f64, char) = (500, 6.4, 'A');  // টিউপল

টিউপলের উপাদানগুলোকে অ্যাক্সেস করা যেতে পারে ইনডেক্স ব্যবহার করে:

let (x, y, z) = tup;  // Destructuring the tuple
println!("x: {}, y: {}, z: {}", x, y, z);  // Accessing elements

২. Array (অ্যারে)

অ্যারে হল এক ধরনের কম্পাউন্ড ডেটা টাইপ যা একটি নির্দিষ্ট সাইজের সমজাতীয় (homogeneous) ডেটা ধারণ করে। অ্যারেগুলোতে সব মান এক ধরনের ডেটা টাইপের হতে হয় এবং সেগুলো একটি নির্দিষ্ট সংখ্যক উপাদান ধারণ করতে পারে।

উদাহরণ:

let arr: [i32; 5] = [1, 2, 3, 4, 5];  // অ্যারে
println!("First element: {}", arr[0]);  // অ্যারে উপাদান অ্যাক্সেস

অ্যারে ও স্লাইসের মধ্যে প্রধান পার্থক্য হলো অ্যারেগুলির সাইজ নির্দিষ্ট থাকে, কিন্তু স্লাইসগুলির সাইজ পরিবর্তনশীল হতে পারে।


সারাংশ

স্কেলার ডেটা টাইপ একক মান ধারণ করে এবং এগুলো সাধারনত গাণিতিক বা লজিক্যাল মান হয়। এর মধ্যে রয়েছে পূর্ণসংখ্যা (integer), ফ্লোটিং পয়েন্ট (floating-point), বুলিয়ান (boolean) এবং **অক্ষর (character)**।
কম্পাউন্ড ডেটা টাইপ একাধিক মান ধারণ করে এবং এতে একাধিক ধরনের ডেটা টাইপ থাকতে পারে, যেমন টিউপল (tuple), যা বিভিন্ন ডেটা টাইপের উপাদান ধারণ করে, এবং অ্যারে (array), যা এক ধরনের ডেটা টাইপের উপাদান ধারণ করে।

Content added By
Promotion

Are you sure to start over?

Loading...