Study
[Flutter] Dart - 1. Variables
미리구
2024. 8. 25. 00:13
1. Var
var name = '미리'; // 변수 선언 방법 1 → 함수, 메소드 내부 지역변수 선언시 사용
String name1 = "MiRi"; // 변수 선언 방법 2 → class에서 변수나 property 선언시 사용
print(name);
print(name1);
2. Dynamic
var name; // 여러 타입을 가질 수 있는 변수 선언 방법 1
dynamic name1; // 여러 타입을 가질 수 있는 변수 선언 방법 2 → 단, 정말로 써야할 때만 사용하도록!
if (name1 is String) {
// 다이나믹으로 변수 선언한 경우, 위와 같이 조건문 선언하면 내부에서 name3는 타입을 String으로 인식하여 관련 메서드 사용 가능
name1.isEmpty;
}
name = 'MiRi';
name = 30;
3. Null Safety
String? name = 'MiRi'; // ?를 사용하면 타입이 String || null 이 될 수 있음
name = null;
// name4가 특정 타입의 메서드를 사용하려면 null이 아님을 확인해야함
if (name != null) {
name4.length;
}
// 간단하게는 아래와 같이 작성도 가능
name?.isNotEmpty;
4. Final
final name = 'MiRi'; // 수정 불가한 변수 선언 방식 → JS의 const와 같음
// 더 구체적으로 작성할 경우 타입 추가(선택 사항)
// 컴파일러가 추측잘하기때문에 따로 작성안해도 됨
final String name = 'MiRi';
5. Late
// 1. var 또는 final 앞에 사용
// 2. 초기 데이터 없이 변수 선언 가능하게 해줌
// 3. 실수를 막아주기 좋음
// 4. data fetching에 좋음
late final String name;
// API 호출하고 응답받은 데이터를 name에 할당
name = "res";
6. Const
// 1. 컴파일 타임에 알고 있는 값이어야 함
// 2. 절대 바뀌지 않을 값
const max_allowed_price = 120;
// 앱스토어에 올리기전 알고 있어야 하는 값 → const
// 어떤 값인지 모르고 api로부터 오거나 사용자가 화면에서 입력하는 값인 경우 → final | var