티스토리 뷰
Dart의 자료형
Dart의 거의 전부가 객체로 이루어져 있기 때문에 진정한 객체 지향 언어로 불린다.
따라서 import할 필요 없이 해당 자료형이 가지는 모든 method를 사용할 수 있다.
String name = 'kiji';
bool alive = true;
int age = 10;
double money = 10.99;
num -> int와 double를 모두 포함
num x = 1;
x = 10.2;
1. List
list의 선언 방법
- 대괄호를 사용해 변수에 할당
- 명시적 타입 선언
1. 대괄호 사용
var numbers = [1, 2, 3, 4];
2. 명시적 타입 선언
List<int> numbers = [1, 2, 3, 4];
이때 배열 안에 선언한 타입 이외의 타입은 추가할 수 없음
numbers.add('1'); // ❌
🔧 메소드
num.first -> 첫 번째 요소를 리턴
num.last -> 마지막 요소를 리턴
num.add -> 배열에 요소를 추가
...
❗️ Dart에서 List는 collection if와 collection for를 지원한다.
1. collection if
존재할 수도 안 할 수도 있는 요소를 가지고 올 수 있음
var giveMeFive = true;
var numbers = [1, 2, 3, 4, if(giveMeFive) 5];
giveMeFive가 true라면 numbers의 요소로 5가 들어감
2. collection for
하나의 배열에 다른 배열의 요소를 반복해 추가하는 방법
for문을 사용해 요소를 하나씩 꺼낸다.
var oldFriends = ['a', 'b'];
var newFriends = [
'c',
'd',
'e',
for(var friend in oldFriends) "🩷 $friend",
];
⭐️ String interpolation
더보기
text에 변수를 추가하는 방법
변수 앞에 $를 붙여 사용한다. (“”, ‘’, ``에 상관 없이 사용)
var name = 'kiji';
var age = 10;
var greeting = 'Hello my name is $name, I'm ${age+1}'; // 계산을 하는 경우 ${변수명}를 사용
2. Map
key와 value를 연결하는 객체
var player = {
'name': 'kiji',
'xp': 19.99,
'superpower': false,
};
Player의 타입은 Map<String, Object>
→ key는 string, value는 Object 타입
Object는 타입스크립트의 any와 비슷하다.
타입을 직접 명시할 수 있다.
Map<int, bool> player = {
1: true,
2: false,
3: true,
}
key와 value 모두 모든 유형의 객체가 될 수 있다.
Map<List<int>, bool> player = {
[1, 2, 3, 4]: true,
}
List 또한 요소로 객체를 가질 수 있다.
List<Map<String, Object>> players = [
{'name': 'kiji', 'xp': 19.99},
{'name': 'jiwon', 'xp': 19.99},
];
3. Set
List와 형태가 비슷하지만 각 요소는 유니크한 값을 가진다.
→ 요소는 중복될 수 없음!
{}을 사용하거나 Set을 사용해 생성한다.
var numbers = {1, 2, 3, 4};
Set<int> numbers = {1, 2, 3, 4}
각 요소는 유니크한 값을 가지기 때문에 동일한 요소를 여러번 추가해도 바뀌지 않는다.
Set<int> numbers = {1, 2, 3, 4};
numbers.add(1);
numbers.add(1);
numbers.add(1);
print(numbers); // {1, 2, 3, 4}
728x90
'코딩 > Dart' 카테고리의 다른 글
dart - class 정리 (0) | 2024.08.22 |
---|---|
dart - 변수 선언 정리 (0) | 2024.08.19 |