오답노트
[Dart] Data Type 본문
자료형들
Basic Data Type
void main() {
String name = 'name';
bool alive = true;
int age = 12;
double money = 69.99;
// 위 자료형은 모두 클래스
// int와 double은 num 클래스부터 상속된 클래스
num x = 12;
x = 1.1;
}
앞에 포스트에서 언급했듯 숫자관련 자료형은 num을 부모 클래스로 가지고 있다.
List
void main() {
var givemefive = true;
var numbers = [1,2,3,4,
if(givemefive) 5, // collection if
];
List<int> nums = [1,2,3,4,];
numbers.add(1);
}
var 로 선언한 변수에 대괄호를 사용해 List를 선언할 수 있고, List를 통해 명시적으로 선언할 수도 있다.
List는 배열처럼 인덱스로 접근하며 원소에는 어떠한 자료형도 들어갈 수 있다.
재미있는 점은 collection if라는 기능인데, List를 생성할 때 if문을 사용하여 조건부로 원소를 넣을지 말지 결정할 수 있다.
Collection for
void main() {
var oldFriends = ['anm','sma'];
var newFriends = ['aws','das','toy',
for(var friend in oldFriends) "!$friend"];
// Collection for
print(newFriends);
}
위에서 collection if를 통해 List 생성시 if문으로 원소 입력 여부를 결정할 수 있었다.
collction for는 List 생성시 for으로 반복적인 작업을 통해 원소를 입력할 수 있다.
Map
void main() {
var player = {
'name' : 'kse',
'xp' : 19.99,
'superpower' : false,
}; // Map<String, Object> -> Object은 어떤 자료형이던 올 수 있다는 의미
Map<int,bool> player2 = {
1 : false,
2 : true,
3 : false,
};
Map<List<int>,bool> player3 = {
[1,2,3] : false,
[1,2,4] : true,
[1,2] : false,
};
}
Map 해쉬 자료형으로 Key와 Value로 이루어진 자료형이다.
var로 변수를 선언해 { 를 사용해 Map을 선언할 수 있고, 명시적으로 Map을 사용해 선언할 수 있다.
Key 한 개의 자료형으로 통일 해야하지만 Value는 원하는 자료형으로 입력할 수 있다.
Set
void main() {
var numbers = {1,2,3,4};
Set<int> nums = {1,2,3,4};
numbers.add(1);
print(numbers);
}
Set은 집합 자료형으로 중복을 허용하지 않는다.
String Interpolation
void main() {
// String Interpolation : 스트링에 단어를 추가하는 방법
var name = 'name';
var age = 10;
var greeting = "hi i'm $name and ${age+2}";
print(greeting);
}
문자열에 $로 변수를 추가하여 사용할 수 있다.
'Dart' 카테고리의 다른 글
[Dart] 함수 (0) | 2023.05.09 |
---|---|
[Dart] 기본적인 자료형 (0) | 2023.05.09 |