Dart একটি আধুনিক প্রোগ্রামিং ভাষা, যা অবজেক্ট-ওরিয়েন্টেড ধারণার উপর ভিত্তি করে তৈরি। Dart-এর মূল কাঠামো নিম্নলিখিত উপাদানগুলি অন্তর্ভুক্ত করে:
1. ডেটা টাইপ (Data Types)
Dart বিভিন্ন ডেটা টাইপ সমর্থন করে, যার মধ্যে প্রধান প্রধান টাইপগুলি হলো:
- Integer: পূর্ণ সংখ্যা, যেমন
int a = 10; - Double: দশমিক সংখ্যা, যেমন
double b = 3.14; - String: টেক্সট ডেটা, যেমন
String name = "John"; - Boolean: সত্য বা মিথ্যা, যেমন
bool isActive = true; - List: একাধিক মান ধারণ করতে পারে, যেমন
List<String> fruits = ["Apple", "Banana", "Orange"]; - Map: কীগুলোর মান, যেমন
Map<String, int> scores = {"Alice": 85, "Bob": 92};
2. ভেরিয়েবল (Variables)
Dart এ ভেরিয়েবল সংজ্ঞায়িত করার জন্য var, final, এবং const ব্যবহৃত হয়:
- var: একটি ডায়নামিক টাইপ, যেমন
var x = 10; - final: একবার সেট করার পর পরিবর্তন করা যায় না, যেমন
final int y = 20; - const: কম্পাইল টাইম কনস্ট্যান্ট, যেমন
const double z = 3.14;
3. নিয়ন্ত্রণ কাঠামো (Control Structures)
Dart নিয়ন্ত্রণ কাঠামো হিসেবে if, else, for, while, এবং switch ব্যবহার করে:
if-else Statement:
if (x > y) {
print("x is greater than y");
} else {
print("y is greater than or equal to x");
}for Loop:
for (int i = 0; i < 5; i++) {
print(i);
}while Loop:
int count = 0;
while (count < 5) {
print(count);
count++;
}4. ফাংশন (Functions)
Dart এ ফাংশন ব্যবহার করা হয়, যা কোডের পুনঃব্যবহারযোগ্যতা নিশ্চিত করে:
int add(int a, int b) {
return a + b;
}
void main() {
int result = add(5, 10);
print(result); // Output: 15
}
5. ক্লাস এবং অবজেক্ট (Classes and Objects)
Dart অবজেক্ট-ওরিয়েন্টেড ভাষা, তাই ক্লাস এবং অবজেক্টের ধারণা এখানে খুবই গুরুত্বপূর্ণ:
class Person {
String name;
int age;
Person(this.name, this.age);
void introduce() {
print("My name is $name and I am $age years old.");
}
}
void main() {
Person person = Person("Alice", 30);
person.introduce(); // Output: My name is Alice and I am 30 years old.
}
6. এক্সসেপশন হ্যান্ডলিং (Exception Handling)
Dart ত্রুটি পরিচালনার জন্য try-catch ব্লক ব্যবহার করে:
void main() {
try {
int result = 10 ~/ 0; // Integer division
} catch (e) {
print("Error: $e"); // Output: Error: IntegerDivisionByZeroException
}
}