참고: https://dart.dev/overview + https://nomadcoders.co/
✔️ Dart 기초 3
Dart의 Data Type은 거의 Object로 이루어져있다.
String, bool, int, double 등에 대한 타입들은 class에서 온 것을
알 수 있다. 해당 int, double은 num이라는 class에서 상속받은 것이고,
정수와 실수를 모두 사용하고 싶다면 num이라는 타입을 사용할 수 있다.
리스트는 위처럼 만들 수 있는데,
해당 리스트에 대한 기능도 변수.~~ 으로 사용할 수 있다.
예를 들면, add(), addAll() 등 다양한 함수들이 존재하게 된다.
또한, Dart는 collection if와 collection for을 사용하게 된다.
그리고 vscode 혹은 dartpad에서는 쉼표로 마무리할 시
자동으로 여러 줄로 포매팅할 수 있다.
다음처럼 collection if는 간단하게 작성할 수 있는 특징을 가지고 있다.
해당 기능은 적은 수의 언어에서 지원하고 있는 기능이다.
String interpolation은 text에 변수를 추가하는 방법인데,
원하는 부분에 달러표시를 해주면 된다.
단, 계산을 실행할 때는 {} 괄호를 넣어주면 된다.
또한 싱글쿼터를 사용하고 싶을 때는 역슬래쉬로 escape 하면 된다.
collection for 기능은 다음과 같이 기존에 있던 것을
불러와서 약간의 변경과 함께 사용하고 싶을 때 사용할 수 있다.
이러한 기능은 UI Interface 등을 만들 때 사용하게 된다.
✔️ Dart Maps
Dart의 Map은 Javascirpt나 Typescript의 object,
python의 dictionary와 비슷하다.
key는 string, value는 object인데 해당 object는 어떠한 자료형이든지
될 수 있으므로 typescript의 any와 비슷하다고 보면 된다.
또는 전부 string으로 value를 바꾸면 Map<string, string>으로 변경된다.
또한 다음처럼 key와 value의 타입을 명시적으로 선언하여
자료형이 무엇인지에 대한 설정도 가능하다.
단지 var로 선언하면 컴파일러가 각각의 자료형을 유추하는 것이다.
또한 다음처럼 복잡한 key와 value의 설정도 가능하다.
Map도 class이기 때문에 method와 property를 가지고 있다.
예를 들면 entries, values 등등에 대한 함수들을 사용할 수 있게 된다.
다음처럼 List 내에 만들 수도 있다.
만약에 Object를 만드는 데에 있어서 js 혹은 ts의 object 또는
python의 dict를 만드는 방식으로 만드는 것이라면,
Map이 아닌 API 요청으로 받는 데이터의 구조라면 class를 사용하는
것이 더 좋은 방법이라고 설명한다.
Dart의 Sets를 만드는 방법은 두 가지인데,
var 변수를 만드는것과 Set 타입을 사용하는 것이다.
Set과 List의 차이는 Set에 속한 모든 아이템들은 유니크하다는 것이다.
list에서는 add가 중복하여 추가되지만,
sets에서는 add 함수를 사용해도 중복되지 않고 유니크한 아이템을 갖게 된다.
즉, 요소가 항상 하나씩만 있어야 한다면 Set을 사용해야하고,
유니크할 필요가 없다면 List를 사용하면 된다.
Python의 List와 Tuple 처럼 말이다.
화이팅 💪
'개발(dev) > dart' 카테고리의 다른 글
[dart] dart 기초 (6) (0) | 2023.01.08 |
---|---|
[dart] dart 기초 (5) (0) | 2023.01.08 |
[dart] dart 기초 (4) (0) | 2023.01.07 |
[dart] dart 기초 (2) (0) | 2023.01.06 |
[dart] dart 기초 (1) (0) | 2023.01.05 |