Dart를 보면 Swift와 많이 비슷한 것 같습니다.
타입추론이나, Swift의 옵셔널 등 많이 비슷해서 금방 익힐 수 있는 것 같네요!
Var keyword
변수를 만들 때에는 타입을 명시해주는 방법과 var로 선언해주는 두가지 방법이 있다.
// 1. 타입추론
var name = 'zhilly';
// 2. 타입명시
String name = 'zhilly';
관습적으로 함수나 메서드 내부에 지역변수를 선언할 때에는 var
class에서 변수는 프로퍼티를 선언할 때에는 타입명시
Dynamic Type
dynamic은 여러가지 타입을 가질 수 있는 변수에 쓰는 키워드
추천되진 않지만 때때로 유용하다.
var name; //or dynamic name;
name = 'zhilly';
name = 12;
name = true;
변수가 어떤 타입일지 알기 어려운 경우
flutter나 json이랑 함께 작업할 때
실제로 dynamic 타입을 사용하려면 타입검사를 해줘야한다.
Swift처럼 is로 타입 검사 가능
dynamic name;
if (name is String) {
~~~
}
Nullable Variables
null safety: 개발자가 null 값을 참조할 수 없도록 하는 것
null을 참조하려고 하면 런타임 에러
dart에서는 null이 될 수 있음을 명확히 표시해야한다.
dart의 변수는 기본적으로 nullable이 아니다
Swift처럼 타입뒤에 물음표를 붙여서 명시한다.
String? zhilly = 'zhilly';
zhilly = null;
옵셔널 타입인 경우에는 항상 Null인지 확인하고 써야한다.
if (zhilly != null) {
zhilly.isNotEmpty;
}
Final Variables
final age = 20;
final double age = 20;
값에 대해서 더이상 변경 사항이 없음을 명시하는 키워드
Late Variables
late final String name;
변수에 초기 값없이 설정할 수 있게 해줌.
Swift의 lazy
값을 할당하기 전까지는 접근할 수 없다.
data fetching 할 때 유용하다
Constant Variables
dart에서의 const는 compile-time constant를 만들어줌
final 처럼 수정이 안됨. 상수임
const는 컴파일 타임에 알고있어야한다.
미리 알고있어야하는 값( layout 값이나, 매직넘버들)
왜 써야할까? 메모리 효율성 up, 런타임 오버헤드 down
'Dart' 카테고리의 다른 글
Dart - Class (0) | 2024.03.11 |
---|---|
Dart - Data type (0) | 2024.03.11 |
Why Dart? (0) | 2024.03.05 |
iOS 공부하는 중🌱