아래는 Dart가 제공하는 기본 데이터 타입의 종류이다.
void main() {
String s = 'string';
bool b = false;
int i = 26;
double d = 64.32
num n1 = 12
num n2 = 1.23
}
num은 int와 double의 속성을 모두 가지고 있다. 실수, 정수를 모두 저장할 수 있는 타입이다.
[]
키워드List<>
키워드void main() {
var _list = [1, 2, 3,];
List<int> _list2 = [1, 2, 3,];
List<String> _list3 = ['a', 'b', 'c',];
}
dart의 list는 collection if와 collection for을 지원한다.
if로 존재할 수도 안할 수도 있는 요소를 가지고 만들 수 있다.
void main() {
bool hasNoFour = true;
var _list = [
1,
2,
3,
if (hasNoFour) 4,
];
}
위의 코드는 아래의 코드와 같은 기능을 한다.
void main() {
bool hasNoFour = true;
var _list = [
1,
2,
3,
];
if (hasNoFour) _list.add(4);
}
collection if와 비슷한 기능을 수행한다.
void main() {
var favoritesFood = [
'chicken',
'pizza',
'burger',
];
var newFavoritesFood = [
'noodle',
'rice',
for (var food in favoritesFood) 'Love $food',
];
print(newFavoritesFood);
}
문자열 안에 변수를 추가하고 싶을 때, 변수 앞에 $
키워드를 붙이면 된다.
void main() {
var name = 'John';
var introduction = "Hello, $name. Nice to meet you.";
}
만약, 계산식을 넣고 싶다면, ${}
를 사용하면 된다.
void main() {
var num = 19;
var introduction = "I'm ${num + 7}";
}
JS, TS의 object 그리고 Python의 dictionary와 같은 기능을 수행한다.
void main() {
var myInfo = {
'age': 26,
'name': 'zenTechie',
'havePotential': true,
'skills': ['Flutter', 'Dart', 'Android', 'Java', 'Kotlin', 'Swift'],
};
print(myInfo);
}
또는 아래와 같이 Map<Key, Value> 키워드를 사용하여 만들 수도 있다.
void main() {
Map<String, Object> myInfo = {
'age': 26,
'name': 'zenTechie',
'havePotential': true,
'skills': ['Flutter', 'Dart', 'Android', 'Java', 'Kotlin', 'Swift'],
};
}
또는, Map 생성자를 사용할 수도 있다.
void main() {
var myInfo = Map();
myInfo['name'] = 'John';
myInfo['age'] = 30;
myInfo['height'] = 1.8;
}
Python의 Tuple, JS의 Set과 같다.
모든 원소들은 유니크한 특징을 가진다.(즉, 중복되는 원소가 있으면 안된다.)
void main() {
var _set = {'a', 'b', 'c',}
Set<int> _set2 = {1, 2, 3,}
}