Nullable ভেরিয়েবল
যেহেতু ডার্টে, সমস্ত ভেরিয়েবলের মান অশূন্য থাকবে, সুতরাং আমরা একটি ভেরিয়েবলের ভিতরে একটি নাল মান ষ্টোর করতে পারি না। এই বৈশিষ্ট্যটি নাল-সেফটি নামেও পরিচিত। যখন আমরা একটি ভেরিয়েবল টাইপ ডিক্লেয়ার করছি যেটা আমাদের বলে দিতে হবে যে এটি নাল ভ্যালু ষ্টোর করতে পারে। এই ধরনের ভেরিয়েবলকে nullable টাইপ বলা হয়
String userName = 'Rohan'; userName = null; // throws an error String? companyName; companyName = null; // runs happily
আর একটা চিহ্ন আছে?? যা if-null চেক করতে ব্যবহৃত হয়। একটি উদাহরণ দেখা যাক-
int? userAge = 23; if (userAge != null) { print(userAge); } else { print(0); }
এই কোড সহজেই if-null সিনট্যাক্স দিয়ে লেখা যায়।
Int? userAge = 23; print(userAge ?? 0);
এটা সহজ এবং পরিষ্কার। আমরা আরও ভাল পঠনযোগ্যতার জন্য এই সিনট্যাক্সটি ব্যবহার করতে পারি, যেহেতু অতিরিক্ত শর্তযুক্ত বিবৃতিগুলি কোডের পাঠযোগ্যতা হ্রাস করে।
এখন, নাল অ্যাসারশন অপারেটর নামে আরেকটি অপারেটর আসে। (!) অপারেটর যোগ করে, আপনি একটি ভেরিয়েবলের মান শূন্য কিনা তা পরীক্ষা করতে পারেন। এবং যদি এটি শূন্য হয় তবে আমরা এখান থেকে একটি ত্রুটি নিক্ষেপ করব। তাই মান non-null হতে হবে.
int? userAge = 23; print(userAge!); userAge = null; print(userAge!); // error