Dart의 변수를 정의하는 방법에 대해 공부한 내용.
변수 정의에 앞서 알아야 할 것은 Dart는 main 함수로부터 시작이 된다는 것이다.
필자는 현재 C#으로 개발을 오래 해왔기 때문에 변수의 타입을 지정하는 것에 익숙하다. (그러나 C#과는 또 다르다.)
이번에 게시할 내용은 NomadCoder에 무료 강의 기반이다.
변수 타입
void main() {
//1. 변수 타입 or var
//변수의 타입 혹은 var를 사용하는 경우는 나중에 변경 가능하다.
//말 그대로 변수이다.
int i = 12;
var name = 'la';
i = 123123123123;
name = 'lalalala';
}
Final
//2. final - 한번만 변수 값을 할당하고 싶을 때 사용한다.
void main() {
final name = 'JP';
name = 'JPP'; //에러 발생
}
dynamic
void main() {
//3. dynamic - 타입에 상관없이 변수 값을 할당 가능하게 한다.
//아래 세 가지 변수 할당 전부 가능
dynamic name;
name = 'JP';
name = 1212;
name = true;
//dynamic으로 정의된 변수는 아래와 같이 조건문으로 타입을 검사하면
//해당 타입에 맞는 메서드를 호출해 사용할 수 있다.
if(name is String) {
name.length
}
}
const
void main () {
//4. const - 알고 있는 값에 대해 상수 값을 정의한다.
const name = 'JP';
name = 'JPP'; //상수 값은 변경될 수 없으므로 에러 발생
//fetchAPI 함수의 값을 알 수 없으므로 에러 발생
const name2 = fetchAPI();
}
null safety
void main() {
//5. null safety - null 값을 참조하지 못하게 해준다.
String name = 'JP';
// 에러 발생
name = null;
String? name2 = 'JP';
// 정상 동작
name = null;
// name 값이 null이 될 수 있어서 에러 발생
name.isEmpty;
// 정상 동작 - name != null이 아닐 경우에만 isEmpty 동작
name?.isEmpty;
// name?.isEmpty와 같은 동작 결과
if(name != null) {
name.isEmpty
}
}
late
void main() {
//6. late - 변수의 값을 나중에 초기화한다.
// late는 API 호출 후 리턴 값을 정의하는데 주로 사용한다.
late name;
name = 'JP';
late final String name;
name = 'JP';
name = 'JPJP'; //에러 발생
}
'Mobile' 카테고리의 다른 글
[Flutter] Flutter 설치방법 (0) | 2023.10.12 |
---|---|
[Flutter] Flutter의 동작 방식 (0) | 2023.10.10 |
[Dart] Class 및 다양한 Class 속성에 대해 (0) | 2023.10.10 |
[Dart] Dart의 Function 사용법 (0) | 2023.10.10 |
[Dart] Dart의 Data Types (0) | 2023.10.09 |