Skill

Dart এর সিনট্যাক্স এবং বেসিক ধারণা (Dart Syntax and Basic Concepts)

ডার্ট প্রোগ্রামিং (Dart Programming) - Computer Programming

646

Dart একটি উচ্চ-স্তরের, অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষা, যা প্রোগ্রামিংকে সহজ এবং কার্যকরী করার জন্য ডিজাইন করা হয়েছে। এর সিনট্যাক্স সিম্পল এবং বোঝার জন্য সহজ, যা নতুন ডেভেলপারদের জন্য শেখার প্রক্রিয়াকে সহায়ক করে। এখানে Dart এর কিছু মৌলিক ধারণা এবং সিনট্যাক্স নিয়ে আলোচনা করা হলো।

1. বেসিক সিনট্যাক্স

  • Hello World Program:
void main() {
 print('Hello, World!');
}
  • এখানে main() হল প্রোগ্রামের প্রবেশ পয়েন্ট এবং print() ফাংশনটি আউটপুট প্রদর্শনের জন্য ব্যবহৃত হয়।

2. ভেরিয়েবল এবং ডেটা টাইপ

ভেরিয়েবল ডিফাইন করা:

var name = "Alice"; // String
int age = 25;       // Integer
double height = 5.8; // Double
bool isStudent = false; // Boolean

টাইপ ডেফিনিশন:

String greeting = "Hello, Dart!";
int number = 10;

3. নিয়ন্ত্রণ কাঠামো

if-else Statement:

if (age >= 18) {
 print("Adult");
} else {
 print("Not an adult");
}

for Loop:

for (var i = 0; i < 5; i++) {
 print(i);
}

while Loop:

for (var i = 0; i < 5; i++) {
 print(i);
}

4. ফাংশন

  • ফাংশন সংজ্ঞায়িত করা:
int add(int a, int b) {
 return a + b;
}
void main() {
 var sum = add(5, 10);
 print("Sum: $sum");
}

5. ক্লাস এবং অবজেক্ট

  • ক্লাস ডিফাইন করা:
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() {
 var person = Person("John", 30);
 person.introduce();
}

6. এক্সসেপশন হ্যান্ডলিং

  • এক্সসেপশন হ্যান্ডলিং:
void main() {
 try {
   int result = 10 ~/ 0; // Integer division
 } catch (e) {
   print("Error: $e");
 }
}

7. লিস্ট এবং ম্যাপ

লিস্ট:

List<String> fruits = ["Apple", "Banana", "Orange"];
for (var fruit in fruits) {
 print(fruit);
}

ম্যাপ:

Map<String, int> scores = {"Alice": 85, "Bob": 92};
scores.forEach((key, value) {
  print("$key scored $value");
});

Content added By

Dart প্রোগ্রামের মৌলিক কাঠামো একটি সুসংগঠিত উপায়ে কোড লেখার এবং কার্যকরভাবে কাজ সম্পাদন করার জন্য ডিজাইন করা হয়েছে। প্রতিটি Dart প্রোগ্রামে কিছু মৌলিক উপাদান থাকে, যা নিচে উল্লেখ করা হলো:

1. প্রবেশ পয়েন্ট (Entry Point)

Dart প্রোগ্রামের প্রবেশ পয়েন্ট হল main() ফাংশন। যখন একটি Dart প্রোগ্রাম চালানো হয়, তখন এটি প্রথমে main() ফাংশনটিকে খুঁজে বের করে এবং সেখান থেকেই কার্যক্রম শুরু হয়।

void main() {
  // এখানে কোড লেখা হবে
}

2. ভেরিয়েবল ডিফিনিশন (Variable Definitions)

Dart-এ ভেরিয়েবলগুলি বিভিন্ন ডেটা টাইপের জন্য সংজ্ঞায়িত করা হয়। ভেরিয়েবলগুলি var, int, double, String, এবং bool ইত্যাদির মাধ্যমে তৈরি করা যায়।

var name = "Alice"; // একটি স্ট্রিং ভেরিয়েবল
int age = 30;       // একটি পূর্ণ সংখ্যা ভেরিয়েবল
double height = 5.6; // একটি দশমিক সংখ্যা ভেরিয়েবল

3. ফাংশন (Functions)

Dart-এ ফাংশনগুলি কোডের পুনঃব্যবহারযোগ্য অংশ হিসাবে কাজ করে। ফাংশনগুলি সংজ্ঞায়িত করা হয় এবং পরে প্রয়োজন অনুযায়ী কল করা হয়।

void greet(String name) {
  print("Hello, $name!");
}

4. নিয়ন্ত্রণ কাঠামো (Control Structures)

Dart-এ বিভিন্ন নিয়ন্ত্রণ কাঠামো রয়েছে, যেমন if, else, for, while, এবং switch

if-else Statement:

if (age >= 18) {  print("Adult"); } else {  print("Not an adult"); }

for Loop:

for (int i = 0; i < 5; i++) {  print(i); }

5. ক্লাস এবং অবজেক্ট (Classes and Objects)

Dart একটি অবজেক্ট-ওরিয়েন্টেড ভাষা। ক্লাসগুলি অবজেক্টের জন্য নীলনকশা সরবরাহ করে।

class Car {
  String color;
  
  Car(this.color);
  
  void displayColor() {
    print("The color of the car is $color.");
  }
}

void main() {
  var myCar = Car("Red");
  myCar.displayColor(); // Output: The color of the car is Red.
}

6. লিস্ট এবং ম্যাপ (Lists and Maps)

Dart-এ ডেটা সংগ্রহের জন্য লিস্ট এবং ম্যাপ ব্যবহার করা হয়।

List:

List<String> fruits = ["Apple", "Banana", "Cherry"];

Map:

Map<String, int> scores = {"Alice": 90, "Bob": 85};

7. এক্সসেপশন হ্যান্ডলিং (Exception Handling)

Dart-এ ত্রুটি (error) পরিচালনার জন্য try-catch ব্লক ব্যবহার করা হয়।

void main() {
  try {
    int result = 10 ~/ 0; // Integer division
  } catch (e) {
    print("Error: $e"); // Output: Error: IntegerDivisionByZeroException
  }
}

Content added By

Dart প্রোগ্রামিং ভাষায় স্টেটমেন্টস এবং এক্সপ্রেশন দুটি গুরুত্বপূর্ণ ধারণা। এগুলো প্রোগ্রামের কার্যকারিতা বোঝার জন্য অত্যন্ত গুরুত্বপূর্ণ। আসুন, এদের মধ্যে পার্থক্য এবং তাদের উদাহরণগুলো দেখা যাক।

1. স্টেটমেন্টস (Statements)

স্টেটমেন্ট হল একটি নির্দেশনা যা কোডের একটি নির্দিষ্ট কাজ সম্পাদন করে। একটি স্টেটমেন্ট সাধারণত একটি সম্পূর্ণ কাজ বা ক্রিয়াকলাপ সম্পাদন করে। Dart-এ বিভিন্ন ধরনের স্টেটমেন্ট রয়েছে, যেমন:

Variable Declaration Statement:

int age = 30; // ভেরিয়েবল ঘোষণা করা

Conditional Statement:

if (age >= 18) {
 print("Adult");
} else {
 print("Not an adult");
}

Loop Statement:

for (int i = 0; i < 5; i++) {  print(i); }

Function Definition Statement:

void greet(String name) {  print("Hello, $name!"); }

স্টেটমেন্টস প্রোগ্রামের কার্যক্রম নিয়ন্ত্রণ করে এবং ফাংশন বা কার্যকলাপ সম্পন্ন করতে ব্যবহৃত হয়।

2. এক্সপ্রেশন (Expressions)

এক্সপ্রেশন হল একটি অংশ যা একটি মান (value) তৈরি করে। এটি এক বা একাধিক ভেরিয়েবল, অপারেটর এবং ফাংশনের সমন্বয়ে গঠিত। একটি এক্সপ্রেশন একাধিক তথ্য নিয়ে কাজ করতে পারে এবং একটি মান উৎপন্ন করে। উদাহরণস্বরূপ:

Arithmetic Expression:

int sum = 5 + 10; // এটি একটি এক্সপ্রেশন যা 15 উৎপন্ন করে

String Expression:

String fullName = "John" + " " + "Doe"; // এটি একটি স্ট্রিং এক্সপ্রেশন

Conditional Expression:

String result = (age >= 18) ? "Adult" : "Not an adult"; // এটি একটি শর্তাধীন এক্সপ্রেশন

Function Call Expression:

int length = "Hello".length; // এখানে length একটি এক্সপ্রেশন

এক্সপ্রেশনগুলি মান তৈরি করে এবং বিভিন্ন ধরনের অপারেশন সম্পাদন করে।

স্টেটমেন্ট এবং এক্সপ্রেশন এর মধ্যে পার্থক্য

বৈশিষ্ট্যস্টেটমেন্টএক্সপ্রেশন
সংজ্ঞাএকটি নির্দেশনা যা একটি কাজ সম্পাদন করেএকটি অংশ যা একটি মান উৎপন্ন করে
সিদ্ধান্তকন্ট্রোল ফ্লো পরিচালনা করেমান প্রদান করে
উদাহরণif, for, while, function5 + 10, "Hello".length
শেষসাধারণত ; দিয়ে শেষ হয়একটি মান ফেরত দেয়

Content added By

Dart প্রোগ্রামিং ভাষায় কোড লেখার সময় পরিষ্কার এবং সুসংগঠিত থাকা খুবই গুরুত্বপূর্ণ। কোডের মধ্যে মন্তব্য (comments) এবং ফরম্যাটিং (formatting) ব্যবহার করে আপনি আপনার কোডকে আরও পাঠযোগ্য এবং পরিচালনাযোগ্য করতে পারেন।

1. কমেন্ট (Comments)

কমেন্ট হচ্ছে কোডের এমন অংশ যা প্রোগ্রামিং ভাষার দ্বারা উপেক্ষিত হয় এবং শুধুমাত্র ডেভেলপারদের জন্য ব্যবহৃত হয়। এটি কোডের উদ্দেশ্য, কার্যপ্রণালী, বা অন্যান্য বিবরণ বুঝতে সাহায্য করে। Dart এ দুই ধরনের কমেন্ট রয়েছে:

সিঙ্গেল-লাইন কমেন্ট:

একটি সিঙ্গেল-লাইন কমেন্ট তৈরি করতে // ব্যবহার করুন। এই ধরনের কমেন্ট শুধুমাত্র একটি লাইনে প্রযোজ্য।

// এটি একটি সিঙ্গেল-লাইন কমেন্ট
print('Hello, World!'); // এই কমেন্ট কোডের পাশে

মাল্টি-লাইন কমেন্ট:

মাল্টি-লাইন কমেন্ট তৈরি করতে /* এবং */ ব্যবহার করুন। এই ধরনের কমেন্ট একাধিক লাইনে প্রযোজ্য।

/*
এই একটি মাল্টি-লাইন কমেন্ট।
এটি একাধিক লাইনে থাকতে পারে।
*/
print('Hello, World!');

2. ফরম্যাটিং (Formatting)

ফরম্যাটিং কোডের সংগঠন এবং প্রদর্শনকে উন্নত করে, যা কোড পড়া এবং বুঝতে সহজ করে। কিছু গুরুত্বপূর্ণ ফরম্যাটিং নিয়ম নিচে উল্লেখ করা হলো:

Indentation:

কোডের ব্লকগুলোকে সঠিকভাবে সাজাতে ইনডেন্টেশন ব্যবহার করুন। সাধারণত 2 বা 4 স্পেস ব্যবহার করা হয়।

void main() {
 if (true) {
   print("Condition is true");
 }
}

Line Length:

  • প্রতি লাইনে 80 থেকে 120 অক্ষরের মধ্যে থাকার চেষ্টা করুন। এটি কোড পড়া সহজ করে।

Whitespace:

অপারেটর এবং কনস্ট্রাকটরের চারপাশে স্পেস ব্যবহার করুন। এটি কোডের স্পষ্টতা বাড়ায়।

var sum = a + b; // সুস্পষ্টতার জন্য স্পেস ব্যবহার করা হয়েছে

Braces:

কোডের ব্লক শুরু করার সময় { এবং শেষ করার সময় } ব্যবহার করুন, এবং সাধারণত সেগুলো একই লাইনে রাখুন।

void main() {
 if (true) {
   print("Hello, Dart!");
 }
}

3. ফরম্যাটিং টুলস

Dart এ কোড ফরম্যাট করার জন্য কিছু জনপ্রিয় টুলস রয়েছে, যেমন:

Dart Formatter (dartfmt): Dart SDK এর অংশ হিসেবে অন্তর্ভুক্ত থাকে, যা কোড ফরম্যাট করার জন্য ব্যবহৃত হয়। আপনি এটি টার্মিনালে ব্যবহার করতে পারেন:

dart format your_file.dart

IDE Integration: Visual Studio Code, Android Studio, এবং IntelliJ IDEA এর মতো IDE গুলি Dart ফরম্যাটিংয়ের জন্য বিল্ট-ইন সাপোর্ট সরবরাহ করে। সাধারণত একটি শর্টকাট ব্যবহার করে (যেমন Shift + Alt + F VS Code এ) কোড ফরম্যাট করা যায়।

Content added By

Dart প্রোগ্রামিং ভাষার সিনট্যাক্স বেশ সহজ এবং বোঝার জন্য স্বচ্ছ, যা নতুন ডেভেলপারদের জন্য খুবই সুবিধাজনক। Dart এর সিনট্যাক্সে বিভিন্ন মৌলিক উপাদান রয়েছে, যা প্রোগ্রাম লেখার সময় ব্যবহার করা হয়। নিচে Dart এর মৌলিক সিনট্যাক্সের কিছু প্রধান উপাদান নিয়ে আলোচনা করা হলো:

1. প্রবেশ পয়েন্ট (Entry Point)

প্রত্যেকটি Dart প্রোগ্রামের জন্য একটি মূল ফাংশন (main) থাকে, যা কোডের কার্যক্রম শুরু করে।

void main() {
  print('Hello, Dart!');
}

2. ভেরিয়েবল (Variables)

Dart-এ ভেরিয়েবলগুলি বিভিন্ন ধরনের ডেটা সংরক্ষণ করার জন্য ব্যবহার করা হয়। আপনি var, final, বা const কিওয়ার্ড ব্যবহার করে ভেরিয়েবল ঘোষণা করতে পারেন।

var name = "Alice"; // Dart স্বয়ংক্রিয়ভাবে টাইপ নির্ধারণ করে
int age = 30;       // সম্পূর্ণ সংখ্যা
final height = 5.6; // পরিবর্তনযোগ্য নয়

3. ডেটা টাইপ (Data Types)

Dart বিভিন্ন ডেটা টাইপ সমর্থন করে:

  • int: পূর্ণ সংখ্যা
  • double: দশমিক সংখ্যা
  • String: টেক্সট
  • bool: সত্য বা মিথ্যা
  • List: উপাদানের তালিকা
  • Map: কীগুলোর মান
int score = 95;
double temperature = 36.6;
String greeting = "Hello!";
bool isActive = true;

List<String> fruits = ["Apple", "Banana", "Cherry"];
Map<String, int> scores = {"Alice": 90, "Bob": 85};

4. ফাংশন (Functions)

Dart-এ ফাংশনগুলি কোডের পুনঃব্যবহারযোগ্য অংশ হিসাবে কাজ করে। ফাংশনগুলি ডেটা গ্রহণ করতে এবং মান ফেরত দিতে পারে।

int add(int a, int b) {
  return a + b;
}

void main() {
  var result = add(5, 10);
  print("Sum: $result");
}

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() {
  var person = Person("John", 30);
  person.introduce();
}

6. নিয়ন্ত্রণ কাঠামো (Control Structures)

Dart-এ বিভিন্ন নিয়ন্ত্রণ কাঠামো রয়েছে, যেমন if, else, for, while, এবং switch

if-else Statement:

if (age >= 18) {  print("Adult"); } else {  print("Not an adult"); }

for Loop:

for (int i = 0; i < 5; i++) {  print(i); }

7. এক্সসেপশন হ্যান্ডলিং (Exception Handling)

Dart-এ ত্রুটি (error) পরিচালনার জন্য try-catch ব্লক ব্যবহার করা হয়।

void main() {
  try {
    int result = 10 ~/ 0; // Integer division
  } catch (e) {
    print("Error: $e"); // Output: Error: IntegerDivisionByZeroException
  }
}

Content added By
Promotion

Are you sure to start over?

Loading...