728x90
반응형
Dart 의 final 과 const
const 의 경우, 컴파일 타임에서 상수를 정의할 수 있다. 즉, const 로 정의한 상수는 런타임에서 정의되는 값을 설정할 수 없다는 의미다. 예를 들어 DateTime.now() 의 경우 런타임에서 호출 될 때마다 결과 값이 다른데 이러한 값은 const 로 설정할 수 없다. 결국 const 로 설정하는 값은 대부분 리터럴이 될 것이다.
final DateTime now = DateTime.now(); // 문제 없음
// const DateTime now = DateTime.now(); // compile error
//상수 - 한번 할당된 값이 변경되지 않는 변수이다.
//dart 에서는 final 키워드와 const 키워드를 제공한다.
//둘에 공통점은 값을 변경할 수 없다에 있지만
//둘의 차이점은 컴파일 시점인가, 런타임 시점이냐에 따라 달라짐
//const - 컴파일시점 , final- 런타임 시점
//코드의 시작점
void main() {
// final -- 런타임 상수(Run-time Constant)
//프로그램이 실행되는 도중에 값이 결정되며, 이후에는 변경 불가능
final int n1 =10;
//n1 = 100; 컴파일 시점에 오류 발생
//const - 컴파일 타임 상수(compile-time Constant)
//코드가 컴파일 될 때 값이 확정되어 진다.
const double d1 = 101.10;
// d1 = 20.1; 변경 불가능
// 상수 사용시 데이터 타입도 역시 생략 가능하다
final a1 = 100;
const b1 = true;
}
void main() {
print('3 + 2 = ${3 + 2}');
print('3 - 2 = ${3 - 2}');
print('3 * 2 = ${3 * 2}');
print('5 / 2 = ${5 / 2}'); // 나누기
print('3 % 2 = ${3 % 2}'); // 나머지
print('5 ~/ 2 = ${5 ~/ 2}'); // 몫 연산자
}
더보기
결과
3 + 2 = 5
3 - 2 = 1
3 * 2 = 6
5 / 2 = 2.5
3 % 2 = 1
5 ~/ 2 = 2
//비교연산자
//두개의 값을 비교하여 결과를 참/거짓을 판별할 때 사용한다.
void main() {
//같다
print('2 == 3 => ${2 == 3}'); // false
//다르다
print('2 != 3 => ${2 != 3}'); // true
//왼쪽값이 오른쪽값보다 작다
print('2 < 3 => ${2 < 3}'); // ture
//왼쪽값이 오른쪽 값보다 크다
print('2 > 3 => ${2 > 3}'); // false
//왼쪽값이 오른쪽 값보다 작거나 같다.
print('2 <= 3 => ${2 <= 3}'); // ture
// 왼쪽값이 오른쪽 값보다 크거나 같다.
print('2 >= 3 => ${2 >= 3}'); // false
}
//논리연산자
void main() {
bool isRainy = true;
bool hasUmbrella = false;
// T && T => true;
print(isRainy && hasUmbrella); // false;
print(hasUmbrella && isRainy); // 빠른 평가 => 이미 false이기 때문에
//or
print(isRainy || hasUmbrella); // 빠른 평가 true
print(hasUmbrella || isRainy); // true
//Not
print(!isRainy); // false
print(!hasUmbrella); //true
}
728x90
반응형
'Flutter' 카테고리의 다른 글
[플러터 07] Dart 언어 함수 (0) | 2025.01.03 |
---|---|
[플러터 05] Dart언어의 기초1 (0) | 2025.01.02 |
[플러터 04] 플러터란 ? (2) | 2025.01.02 |
댓글