본문 바로가기
mobile/flutter

[Dart] Null safety

by moonsiri 2021. 7. 14.
728x90
반응형

Dart 2.12 및 Flutter 2부터 Null safety를 지원합니다.

Null Safety란 개발되는 코드가 Null 안전성을 보장한 상태로 개발되게 하고자 하는 개념

 

dart 패키지 버전을 보시면 Null safety라고 표시되어있는 것을 확인할 수 있습니다.

 

 

Null safety는 null에 의한 NPE를 runtime이 아닌 edit-time에 체크하겠다는 의미입니다. 즉, null을 허용하지 않는 한 변수는 null을 포함할 수 없습니다.

Dart 언어의 변수는 default가 Non-Nullable로 선언되기 때문에 Nullable로 선언하고자 한다면 타입명 뒤에 ?을 추가하면 됩니다.

// 오류 발생 : Non-Nullable 변수는 선언과 동이세 초기값을 주어야합니다.
String name;

// Nullable
String? name;	// String? name = null;

 

그리고 해당 변수를 사용하기 위해선 변수 뒤에 !를 추가합니다.

name = '홍길동';
print('name = ' + name!);

! 는 null check operator로 해당 변수 값이 null인 경우 runtime error를 발생합니다.

 

 

[Reference]

https://dart.dev/null-safety

 

Sound null safety

Information about Dart's null safety feature

dart.dev

 

728x90
반응형

댓글