반응형
프로그래밍에서 Null 값이란 빈값을 의미 합니다.
string 타입에서 ""; 이 아무것도 없는 값으로 볼 수도 있지만 사실 빈값이 들어가 있는 상태이고
String value = ""; <- 이렇게 초기화 해준상태입니다.
마찬가지로 int 는 0 값이라고 생각 할수 있겟지만 0이라는 값이 들어있는것이고
int value = 0; 이라는 형태입니다.
프로그래밍에서 Null 값 때문에 프로그램이 에러가 나기 때문에 값을 강제하는 언어들이 있습니다. (없는 언어도 있음)
그런데 항상 값이 정해져 있지만은 않습니다.
변수 선언 시점에서 그 값을 모르는 경우도 있기도 하고, 그 변수를 지나간 다음에 값이 할당되는 경우도 있을 것입니다.
이 경우를 허용하기 위해 Nullable 이라는 개념이 '존재' 하는 것입니다
그래서 이걸 어떻게 쓰는것인지???
간단합니다.
String? value
요렇게 타입 뒤에 물음표를 던지며 물어보면 됩니다. 스트링이니?
그럼 대답은 들을 수 없지만 다트 컴파일러는 알아듣고 불평불만을 하지 않습니다.
그러고 일단 value 에다가 null 값을 부여합니다.
널값을 방지해 기본값을 부여하는 방법도 있습니다.
그것은 ??= 을 이용해서 값을 부여하는 방법입니다.
value ??= 4; // 값이 없으면(널이면) 4를 넣는다.
예제를 통해 보겠습니다.
void main (){
double? number; // 자동으로 null 값 지정
print(number);
number ??= 3; // ??= 널값일때 값을 부여합니다.
print(number); // 3
number ??=4; // 이제 널값이 아니기때문에 4를 넣지 않습니다.
print(nubmer); // 3
반응형
'프로그래밍 > Dart' 카테고리의 다른 글
Dart 함수 형태 (0) | 2023.04.19 |
---|---|
Dart loop programming for 문 while 문 (0) | 2023.04.19 |
Dart Map과 Set (0) | 2023.04.18 |
Dart List에 대해 그리고 함수들 (0) | 2023.04.18 |
Dart 기초 문법 (0) | 2023.04.18 |
댓글