# Basic Data Types
String name = '공부중';
bool alive = true;
int age = 12;
double money = 5005.2;
num x = 12;
x = 1.2;
// 모든 자료형은 class이다.
// int와 double은 num 클래스를 상속 받음. num 자료형을 사용하면 int 일수도 double 일 수도 있다.
# Lists
- 리스트 생성
var numbers = [1, 2, 3, 4]; // Type : List<int>
List<int> numbers = [1, 2, 3, 4]; // 이렇게도 가능
* vscode 나 dartpad 사용시 리스트 마지막을 ,(쉼표)로 마무리 해주면 여러 줄로 자동 포매팅 된다.
**dartpad에서 안될 시 전체선택 후 자동 Formatting 단축키 (Shift+Ctrl+F) 누르면 된다.
- collection if 지원
if로 존재할 수도 안할 수도 있는 요소를 만들 수 있다.
var giveMeFive = true;
var numbers = [
1,
2,
if (giveMeFive) 5,
];
추가설명 String Interpolation 문자열 보간 - 문자열 안에 변수를 배치
사용방법 : $변수이름 / 계산이 필요할 때 : ${변수이름과 수식}
var name = '공부중';
var age = 12;
var greeting = 'Hello everyone, my name is $name and I\'m ${age +2}!' ;
- Collection For 지원 // 로그인 했을 때 버튼 생성
var oldFrineds = ['공부','중임',];
var newFriends = [
'임공',
'부중',
for(var friend in oldFriends) "♥ $friend"
];
print(newFrineds);
결과 : [임공, 부중, ♥ 공부, ♥ 중임]
# Maps 자료구조
var player = {
'name' : '공부중',
'xp' : 19.99,
'superpower': false,
}; // Type: Map<String, Object> String으로 이루어진 key와 Object인 value로 이루어진 자료구조 Map
// Object는 TypeScript 에서 any라고 적는 것과 같다
Map<int,bool> player = {
1: true
};
Map<List<int>, bool>= {
[1, 2, 3 ] : false
};
List<Map<String, Object>> players = [
];
* Map도 메소드와 property를 가지고 있음
** key와 value를 가지는 구조로 object를 만들 때, api로 얻은 데이터일 때 map보다는 class를 사용하기를 추천
#Sets
- Set 생성
var numbers = {1, 2, 3, 4};
Set<int> numbers = {1, 2, 3, 4};
- Set 과 List의 차이점
Set에 속한 아이템들은 값이 모두 유니크하다. - 아무리 1을 많이 추가해도 하나밖에 없음.
유니크 할 필요가 없다면 List 사용
'Flutter > Dart' 카테고리의 다른 글
Dart Map - entries, asMap (0) | 2023.02.10 |
---|---|
Dart List - forEach, map, reduce, fold (0) | 2023.02.10 |
Dart Class 클래스 (0) | 2023.02.09 |
Dart Functions 함수 (0) | 2023.02.08 |
Dart Variables - 변수 (0) | 2023.02.06 |