강의: #2.0 Basic Data Types
강의: #2.1 Lists
강의: #2.2 String Interpolation
강의: #2.3 Collection For
강의: #2.4 Maps
강의: #2.5 Sets
Dart의 거의 전부 object로 이루어져 있음.
num 자료형을 사용하면 그 숫자는 integer일 수도 있고 double 일 수도 있음
num은 integer와 double의 부모 class임
void main() {
String name = "haro";
bool alive = true;
int age = 12;
double money = 69.99;
num x = 12;
x = 1.1;
}
void main() {
var numbers = [1,2,3,4,];
}
void main() {
List<int> numbers = [1,2,3,4,];
}
가능할 때는 var 사용, 자료형을 명시하는 방법은 class를 다룰 때 사용.
dart에서의 list가 멋진 점은 collection if와 collection for 을 지원한다는 점. list를 만들 때 끝을 쉼표로 마무리해주면 여러 줄로 포매팅 된다.
list를 만들 때 if를 사용해 존재할 수도, 안할 수도 있는 요소를 만들 수 있음.
void main() {
var giveMeFive = true;
var numbers = [
1,
2,
3,
4,
if(giveMeFive) 5,
];
}
만약에 giveMeFive가 true라면 list에 5를 추가할 수 있는 기능
if(giveMeFive){
numbers.add(5);
}
다음 문장을 줄일 수 있는 방법
void main() {
var oldFriends = ['nico', 'lynn'];
var newFriends = [
'lewis',
'ralph',
'darren',
for (var friend in oldFriends) "🥰$friend",
];
print(newFriends);
}
void main() {
var player = {
'name' : 'nico',
'xp' : 19.99,
'superpower' : false,
};
}
void main() {
Map<List<int>, bool> player = {
[1,2,3,5] : true,
};
}
void main() {
List<Map<String, Object>> players = [
{'name':'nico', 'xp':19993.99},
{'name':'nico', 'xp':19993.99},
];
}
var를 사용하거나 Map<int, bool> 형식도 가능함. Key의 자료형, Value의 자료형이 무엇인지 지정해줄 수 있음.
key와 value를 가지는 구조로 object를 만들 때, 특정형태를 가진 API로 얻은 데이터는 class를 추천함.
void main() {
var numbers = {1,2,3,4};
}
void main() {
Set<int> numbers = {1,2,3,4};
}
Set과 List의 차이점은 Set에 속한 모든 아이템들은 유니크하다.
요소가 항상 하나씩만 있어야되면 Set을 사용하면 됨.
또한 Set은 sequence 한 성질을 갖는다.
String interpolation 은 text에 변수를 추가하는 방법이다.
달러 기호를 붙이고 사용할 변수를 이어서 적어주면 된다.
어떠한 계산을 실행하려면 달러 기호 뒤에 중괄호를 넣어주면 된다.
void main() {
var name = 'haro';
var age = 10;
var greeting = "Hello everyone, my name is $name, and I\'m ${age+2}" ;
print(greeting);
}