Dart 변수 선언
다트 언어에서 변수는 3가지 타입으로 선언된다.
- var를 이용한 선언
최초 입력된 값의 타입으로 변수가 정해진다.
이후, 다른 타입으로 저장될 시 오류 발생한다.
void main() {
var strName = "유니네 라이브러리";
print(strName); //유니네 라이브러리
//Error: A value of type 'int' can't be assigned to a variable of type 'String'.
strName = 1234;
print(strName);
}
- dynamic 타입으로 선언
입력될 때마다 다른 타입의 변수 저장 가능하다.
void main() {
dynamic strName = "유니네 라이브러리";
print(strName); //유니네 라이브러리
strName = 1234;
print(strName); //1234
}
- Final, const 타입으로 선언
변수가 변경되지 않아야 하는 경우 사용
▶ Final 은 런타임 상수
즉, 코드가 실행될 때 값이 확정될 때 정해짐
import 'dart:math';
void main() {
final int rdnNum = Random().nextInt(10);
print(rdnNum); //9
}
▶ const 는 빌드 타임 상수
즉, 코드가 실행되지 않은 상태에서 값이 확정될 때 정해짐.
Random() 와 같이 빌드타임이 아니라 코드가 실행되는 런타임 시에 알 수 있는 값이기 때문에 오류
//Random() 와 같이 빌드타임이 아니라 코드가 실행되는 런타임 시에 알수 있는 값이기 때문에 오류
import 'dart:math';
void main() {
//빌드 시 확정된 값이기 때문에 정상
const String strName = "유니네 라이브러리";
print(strName); //유니네 라이브러리
//Error: Method invocation is not a constant expression.
const int rdnNum = Random().nextInt(10);
print(rdnNum);
}
디폴트 처리 ( Nullable 과 notNull 변수 처리 )
- null 입력이 가능한 nullable 타입 선언은 타입 뒤에 ? 넣고 선언
void main() {
String? strName = "유니네 라이브러리";
print(strName); //유니네 라이브러리
//nullable 변수 선언되어 null 저장 가능
strName = null;
print(strName); //null
String notNullStr = "유니네 라이브러리";
print(notNullStr); //유니네 라이브러리
//Error: The value 'null' can't be assigned to a variable of type 'String' because 'String' is not nullable.
notNullStr = null;
print(notNullStr); //null
}
☞ Dart 자습서 참고 사이트
https://dart-ko.dev/language/variables
☞ Dart 참고 문서
https://www.yes24.com/Product/Goods/116259435
'코딩라이브러리 > Dart' 카테고리의 다른 글
[Dart] for, while 반복문 (with 백준 2446, 2522) (0) | 2024.07.18 |
---|---|
[Dart] if, swich 조건문 (with 백준 1330) (0) | 2024.06.18 |
dart 은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치파일이 아닙니다 (with 안드로이드 스튜디오) (0) | 2024.06.12 |
[Dart] 코딩 연습 입출력 코드 방법 (0) | 2024.06.10 |
Dart 주석 처리 (2) | 2024.06.03 |