| Dart 시작하기 - 변수
https://nomadcoders.co/dart-for-beginners/lectures/4099
1. var 변수 - 컴파일 시에 자동으로 타입 변환된다. (권장되는 사항) *var 에 그렇다고 null을 넣을 수는 없음
2. dynamic 변수 - 타입 변환이 가능하다. (조심스럽게 사용해야 한다)
3. nullable 변수 - 타입 뒤에 ?을 붙이면 된다.
4. final 변수 - 변경 불가 제어자. 타입 없이 바로 값을 넣으면 컴파일 시 타입 지정이 된다..
5. late 변수 - 나중에 초기화가 가능하게 하는 제어자 (ex. late final String name;)
6. constant 변수 - 컴파일 시에 반드시 값을 알고 있어야 하는 변수. (반드시 초기화가 되어야 한다.)
void main() {
// 변수를 초기화하는 방법
String name1 = 'test'; // 타입 지정
// name1 = 10; --> Error!
var name2 = 'test'; // 선언 시에 타입 자동 지정
// name2 = 10; --> Error!
dynamic name3 = 'tset'; // 선언 후에 타입 변경 가능
name3 = 10;
// var 변수를 초기화하지 않으면 타입 변환이 가능하다.
var name4;
name4 = 'test';
name4 = 12; // --> No Error
// null을 처리하는 방법
String name5 = 'test';
// name5 = null; --> Error! *null은 String이 아니라 치부한다.
String? name6 = 'test';
name6 = null;
// name6.isNotEmpty; --> Error! isNotEmtpy는 '' 공백을 확인하는 메소드로 null 타입이 올 수 없다.
name6?.isNotEmpty;
// 아래 코드가 name6?.isNotEmtpy를 의미한다.
if (name6 != null) {
name6.isNotEmpty;
}
// fianl : 변경 불가 의미 접근자 (타입을 지정하지 않으면 알아서 지정된다.)
final name7 = 'test';
// name7 = 'test2'; --> Error! final은 const와 같은 의미로 변경 불가한 변수이다.
// late : 나중에 초기화가 가능하게 하는 접근자 (값을 미리 알 수 없는 경우에 매우 용이)
late final String name8;
// print(name8); --> Error! late이 붙은 경우 내부에 값이 없으면 에러를 뱉는다.
name8 = 'test1';
// const : compile-time constant 을 만들어주는 키워드 (컴파일 시에 반드시 값을 알고 있어야 한다.)
// * final은 컴파일 시에 값을 몰라도 된다.
const max_allowd_price = 120; // 절대 안 바뀔 것 같은 것에 사용하자.
}
'Frontend > Dart,Flutter' 카테고리의 다른 글
Dart 시작하기 - Classes (0) | 2023.05.27 |
---|---|
Dart 시작하기 - Optional Positional Parameter, QQ operator, Typedef (0) | 2023.05.27 |
Dart 시작하기 - 함수, Named Parameters (0) | 2023.05.27 |
Dart 시작하기 - 데이터 타입 (0) | 2023.05.27 |