Dart, 상수형 변수/자료를 만드는 const, final 지시어
글. 수알치 오상문
다음 예제는 final 변수를 만들고 초기화한다.
final name = 'Bob'; // 문자열
final String nickname = 'Bobby'; // 문자열
final로 지시된 변수는 수정할 수 없다.
name = 'Alice'; // 에러!: final 변수는 초기화만 가능하다.
컴파일 시간에 상수로 지정하려면 const 지시어를 사용하자. 만약 const 변수가 클래스 수준이면 static const를 사용한다.
const bar = 1000000; // 압력 단위 (dynes/cm2)
const double atm = 1.01325 * bar; // 표준 기압
const 지시어는 변수 뿐만 아니라 상수 값을 만들 때도 사용할 수 있다.
var foo = const [];
final bar = const [];
const baz = []; // []는 const []와 같음
이렇게 coonst []으로 만든 일반 변수는 한번 초기화 기회가 주어진다.
foo = [1, 2, 3]; // 초기화
그러나 const 변수인 경우에는 수정할 수 없다.
baz = [42]; // 에러:
다트의 형 검사와 형변환, 컬렉션 if, 스프레드 연산을 이용하여 상수를 정의할 수도 있다.
type checks and casts (is 및 as), collection if, spread operators (... 및 ...?)
const Object i = 3; // i 변수는 정수 값을 가진 상수 Object
const list = [i as int]; // as를 이용한 형변환(typecast)
const map = {if (i is int) i: 'int'}; // is와 컬렉션 if 사용
const set = {if (list is List<int>) ...list}; // ... 연산자를 이용한 전개(spread): [1,2,3] --> 1,2,3
'Dart' 카테고리의 다른 글
Dart 숫자 자료형 num, int, double (0) | 2021.06.12 |
---|---|
Dart, 기본 자료형 (0) | 2021.06.12 |
Dart 언어 주요 개념 (0) | 2021.06.12 |
Dart 언어의 Final 및 const 지시 변수 (0) | 2021.06.11 |
Dart 변수 기본 값과 나중 초기화 late 변수 (0) | 2021.06.11 |