Null Safety একটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা Dart 2.12 সংস্করণ থেকে কার্যকর করা হয়েছে। এটি ডেভেলপারদের জন্য কোডের নিরাপত্তা বাড়াতে সহায়ক, বিশেষত যখন null মানের কারণে ত্রুটির সম্ভাবনা থাকে। Null Safety নিশ্চিত করে যে একটি ভেরিয়েবল null হতে পারে কিনা তা স্পষ্টভাবে চিহ্নিত করা হয়। এর ফলে কোডের মানের উন্নতি ঘটে এবং চলমান ত্রুটির সংখ্যা কমে যায়।
Null Safety এর ধারণা
Nullable এবং Non-Nullable Types:
- Non-Nullable Types: যখন একটি ভেরিয়েবলকে non-nullable হিসেবে চিহ্নিত করা হয়, তখন এটি নিশ্চিত যে সেই ভেরিয়েবলের মান কখনও null হবে না। যেমন:
int age = 30; // non-nullable int- Nullable Types: যখন একটি ভেরিয়েবলকে nullable হিসেবে চিহ্নিত করা হয়, তখন এটি null হতে পারে। এর জন্য ভেরিয়েবলের টাইপের পরে একটি
?চিহ্ন যুক্ত করতে হয়:
int? age; // nullable intনিরাপত্তা সুবিধা:
- Null Safety ভেরিয়েবলের ধরন এবং মানের অবস্থানগুলিকে নিরাপদভাবে পরিচালনা করতে সহায়ক, ফলে চলমান সময়ে NullPointerExceptions এর সম্ভাবনা কমে যায়।
ইনিশিয়ালাইজেশন:
- Non-nullable টাইপের ভেরিয়েবলগুলি ইনিশিয়ালাইজ করতে হয়, অন্যথায় কম্পাইলার একটি ত্রুটি দেখাবে:
int age; // Error: The variable 'age' must be assigned before it can be used.ডিফল্ট মান:
- Nullable টাইপের জন্য যদি মান না দেওয়া হয় তবে এটি স্বয়ংক্রিয়ভাবে null হিসাবে সেট হয়:
int? age; // age is null by defaultNull Assertion Operator:
- আপনি যদি নিশ্চিত হন যে একটি nullable ভেরিয়েবল null নয়, তবে
!চিহ্ন ব্যবহার করে null নিশ্চিত করতে পারেন। উদাহরণ:
int? age = 25;
int nonNullableAge = age!; // This asserts that age is not null.Null Aware Operators:
- Dart এ কিছু বিশেষ অপারেটর রয়েছে যা null যাচাইয়ের সময় সহায়ক:
- Null-aware Access Operator (
?.):
- Null-aware Access Operator (
String? name;
print(name?.length); // returns null instead of throwing an error- Null-aware Assignment Operator (
??=):
int? a;
a ??= 10; // a will be assigned 10 only if it is currently null
Content added By
Read more