DEV Community

Cover image for Type inference in Dart programming (Bangla)
Amirul Islam
Amirul Islam

Posted on

Type inference in Dart programming (Bangla)

Dart-এ Type Inference হলো একটি প্রক্রিয়া যেখানে কম্পাইলার স্বয়ংক্রিয়ভাবে ভেরিয়েবলের টাইপ নির্ধারণ করে, যখন আপনি টাইপ স্পষ্টভাবে উল্লেখ করেন না।

অর্থাৎ, আপনি যদি একটি ভেরিয়েবল ডিক্লেয়ার করেন এবং তার সাথে ডাটা অ্যাসাইন করেন, তাহলে Dart নিজেই ঐ ডাটার উপর ভিত্তি করে টাইপ নির্ধারণ করে।

উদাহরণ:

void main() {
  var name = "Amirul"; // এখানে `name` এর টাইপ `String` হিসেবে নির্ধারণ হবে
  var age = 25;        // এখানে `age` এর টাইপ `int` হিসেবে নির্ধারণ হবে
  var pi = 3.14;       // এখানে `pi` এর টাইপ `double` হিসেবে নির্ধারণ হবে

  print(name.runtimeType); // Output: String
  print(age.runtimeType);  // Output: int
  print(pi.runtimeType);   // Output: double
}
Enter fullscreen mode Exit fullscreen mode

কীভাবে কাজ করে:

  1. var ব্যবহার: যখন আপনি var দিয়ে একটি ভেরিয়েবল ডিক্লেয়ার করেন, তখন কম্পাইলার সেই ভেরিয়েবলের জন্য অ্যাসাইন করা ডাটার টাইপ বিশ্লেষণ করে।
   var x = 10; // এখানে `x` একটি `int` টাইপ ভেরিয়েবল
Enter fullscreen mode Exit fullscreen mode
  1. final এবং const ব্যবহার: final এবং const-এর ক্ষেত্রেও টাইপ ইনফারেন্স কাজ করে।
   final city = "Dhaka"; // টাইপ `String` হিসেবে ইনফার করা হবে
   const pi = 3.1416;    // টাইপ `double` হিসেবে ইনফার করা হবে
Enter fullscreen mode Exit fullscreen mode
  1. ফাংশনের রিটার্ন টাইপ: যদি কোনো ফাংশনের রিটার্ন টাইপ স্পষ্টভাবে উল্লেখ করা না হয়, তবে Dart ইনফারেন্স ব্যবহার করে টাইপ নির্ধারণ করে।
   addNumbers(a, b) {
     return a + b; // টাইপ ইনফারেন্সের ভিত্তিতে এটি `int` বা `double` হতে পারে
   }
Enter fullscreen mode Exit fullscreen mode

সুবিধা:

  • কোড সংক্ষিপ্ত ও পরিষ্কার হয়।
  • টাইপ ম্যানেজমেন্ট সহজ হয়।
  • টাইপ নির্ধারণে কম সময় লাগে।

সতর্কতা:

  • যদি ডাটা টাইপ স্পষ্ট না হয় বা কনফ্লিক্ট হয়, তাহলে এটি সমস্যার কারণ হতে পারে।
  var value; // টাইপ এখনও নির্ধারণ করা হয়নি
  value = "Flutter"; // এখানে `String` টাইপ নির্ধারণ হবে
  value = 123;       // এর ফলে টাইপ কনফ্লিক্ট হতে পারে
Enter fullscreen mode Exit fullscreen mode

পরামর্শ:

  • যেখানে সম্ভব, টাইপ স্পষ্টভাবে উল্লেখ করুন, বিশেষত বড় প্রজেক্টে।
  • dynamic টাইপ এড়িয়ে চলুন, কারণ এটি টাইপ সেফটি কমিয়ে দিতে পারে।

Sentry mobile image

Tired of users complaining about slow app loading and janky UI?

Improve performance with key strategies like TTID/TTFD & app start analysis.

Read the blog post

Top comments (0)

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

👋 Kindness is contagious

Immerse yourself in a wealth of knowledge with this piece, supported by the inclusive DEV Community—every developer, no matter where they are in their journey, is invited to contribute to our collective wisdom.

A simple “thank you” goes a long way—express your gratitude below in the comments!

Gathering insights enriches our journey on DEV and fortifies our community ties. Did you find this article valuable? Taking a moment to thank the author can have a significant impact.

Okay