반응형

 

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

+ Recent posts