반응형
기본 타입
타입은 모두 class로 되어 있고 class는 object로 되어 있는 강력한 객체 지향적 언어
void main() {
String name = "name";
bool alive = true;
int age = 12;
double money = 69.99;
num x = 12; // int or double or ...
x = 1.1; // 가능
}
List
[] 안에 데이터를 넣어 선언하고 var혹은 타입을 명시할 수 있다. collection if와 collection for를 지원.
void main() {
// list 선언
var numbers = [1,2,3,4];
List<int> numbers2 = [1,2,3,4];
numbers.add(1); // var 이므로 추가 가능
// collection if, collection for 지원
// collection if
var giveMeFive = true;
var num = [
1,
2,
3,
4,
if(giveMeFive) 5, // collection if. if조건이 true일 때 add한다.
];
}
String interpolation
문자열에 변수를 넣는 방법
$변수
${수식}
변수 부분에는 {}를 붙여 수식이나 변수에 다른 값을 더해 출력하는 등 가능
collection if
조건에 맞으면 list에 element를 add한다.
collection for
for문을 돌려 element를 add한다.
void main() {
// collection for 지원
var oldFriends = ['a', 'b'];
var newFriends = [
'c',
'd',
'e',
for(var friend in oldFriends) "$friend",
];
print(newFriends); // [c, d, e, a, b]
}
Maps
Key:Value로 이루어진 객체. Java의 Map보다는 javascript의 object에 더 가까운 듯.
vod main() {
// 타입 비명시
var player = {
'key1': 'nini',
'key2': 19.99,
'superpower': false
} // Map<String, Object> 타입으로 인식됨
// 타입 명시
Map<int, bool> player2 = {
1: true,
2: false,
3: true
}
}
Sets
List와의 차이점은 set의 엘리먼트들은 유니크함
vod main() {
// set 선언
var numbers = {1,2,3,4};
Set<int> numbers = {1,2,3,4};
numbers.add(1);
numbers.add(1);
numbers.add(1);
numbers.add(1);
print(numbers); // {1,2,3,4} 유니크하므로 이렇게 출력됨
}
반응형
댓글