DEV Community

Abhay Prajapati
Abhay Prajapati

Posted on

3 1

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

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more