DEV Community

Abhay Prajapati
Abhay Prajapati

Posted on

3 / 100DaysOfFlutter: Dart Sound Null Safety, Null Assign, Null Check, Everything null.

Learning null Safety in Dart:

understanding why we need null Safety; Null means nothing is there. so handle the programme at any point in time if there is a value which is null what should be performed?

Sound NullSafety:

By sound you might is understand that here you may know when the value will be null; so for that flow, we use SOUND Null Safety

 int i = 0; i= null;  // here i is 0; but what if somepoint it becomes null; // then it will throw an error // so we need to add a check for null <!-- down arrow unicode --> int j = 1; //^ this is a nullable variable; so in future it can be null; and wount' throw error.  // make any value nullable by adding ❓after the variable type.  j = null;  
Enter fullscreen mode Exit fullscreen mode
List<String> names = ['Ram', 'Shyam', 'Hari']; names[0] = null;  List<String?> names2 = ['Ram', 'Shyam', null]; names2[0] = null;  List<String>? names3 = ['Ram', 'Shyam', 'Hari']; names3 = null  // for making a list nullable we need to add ? after the list type here it is String. List<String?>? names4 = [null, null, "Ram"];  // Here List as well as list Type is also nullable. 
Enter fullscreen mode Exit fullscreen mode

Null Assign:

Null Assign means if the value is null Assign this value

int? age = 12; age = null; int RealAge = age ?? 18; // adding this ❓❓ after the variables (age) makes us sure that if any case the value of age is null the RealAge will be 18;  
Enter fullscreen mode Exit fullscreen mode

Null Check

Null check is a process of checking if the value is null or not, and perform tasks accordingly.

 List<String>? names5 = null; print(names5?.length); // it is shortcut for if(names5 != null) { print(names5.length); } else { print("null"); } print(Person?.skills?.length); ... // it will only print the length of skills if the person is not null and if the skills are not null. 
Enter fullscreen mode Exit fullscreen mode

I will explain Objects; Classes in the next blog.

Share with me if anything is missing or you don't understand; don't shy 🥺

ping me on Twitter 🕊️ @Abhayprajapati_

Check the code for today here.
Repo

🤝🏾Connect me on:
Twitter: 🕊️@Abhayprajapati_
Github: 🐧@theabhayprajapati

Top comments (0)