-
Dart#2. 자료형프론트/Dart 2024. 10. 29. 21:02
String Interpolation(문자열 보간, 문자열 삽입)
void main() { var name = 'jeongwon'; var age = 22; var greeting = "hello everyone, my name is $name, and I'm ${age + 2}"; // ""(더블 쿼터)를 사용해도 되고, $ 뒤에 변수명을 붙이면 포맷팅이 가능하다. // {} 대괄호 안에 간단한 계산을 할 수도 있다. print(greeting); }
- $와 변수 삽입
- 문자열 내에 $ 뒤에 변수명을 붙이면 해당 변수가 문자열에 삽입됩니다.
- 예: $name은 'jeongwon'으로 대체됩니다.
- {} 내부 계산
- 중괄호 {}를 사용해 문자열 내에서 연산을 포함할 수 있습니다.
- 예: ${age + 2}은 24로 계산됩니다.
- ""와 '' 사용
- Dart에서는 큰따옴표("")와 작은따옴표('') 둘 다 문자열로 사용할 수 있습니다.
- 큰따옴표로 문자열을 묶을 경우, 더블 쿼터 안에 변수를 쉽게 삽입할 수 있습니다.
Collection if
리스트, 맵, 또는 집합(Collection) 내에서 조건적으로 요소를 포함시킬 수 있게 해주는 기능
void main() { bool isLoggedIn = false; List<String> menu = ['Home', 'About', if (isLoggedIn) 'Logout']; print(menu); // ['Home', 'About'] }
- 조건에 따라 동적으로 요소를 추가할 필요가 있는 경우 유용하다. 예를 들어, 특정 플래그에 따라 UI 요소를 추가하거나, 유효한 데이터만 리스트에 포함할 때 사용할 수 있다.
Collection for
기존 컬렉션(리스트, 맵 등)의 요소를 반복문을 통해 다른 컬렉션에 쉽게 추가할 수 있도록 해주는 기능이다.
void main() { var oldFriends = ['jeongwon', 'jeongjae']; var newFriends = [ 'jisoo', 'mincheol', 'taehyung', for (var friend in oldFriends) "❣️ $friend", ]; print(newFriends); }
Maps
다양한 자료형의 키와 값을 사용할 수 있으며, 특히 타입 추론과 다양한 메서드를 제공한다.
void main() { var player = {'name': 'jeongwon', 'xp': 19.99, 'superpower': false}; // Map<String, Object> Object 는 모든 자료형의 부모이다. var players = { 1: true, 2: false, 3: true }; // Map<int, bool> 컴파일러가 알아서 타입을 유추해준다. Map<List<int>, bool> stats = { [1, 2, 3, 5]: true, }; stats.isEmpty; }
- ID나 키워드로 데이터에 접근할 때:
사용자가 여러 명인 경우, 각 사용자의 정보를 ID로 구분할 때 유용합니다. - 설정 값 저장:
여러 옵션을 설정해야 할 때, 옵션명-값 쌍을 저장하는 용도로 사용할 수 있습니다. - UI에서 상태 관리:
Flutter와 같은 UI 라이브러리에서 위젯의 상태를 관리할 때 자주 사용됩니다.
Sets
중복 요소를 허용하지 않는 컬렉션입니다. 각 요소는 유일하며, 요소 간에 순서가 보장되지 않는다. 주로 중복을 제거하거나 집합 연산을 수행할 때 사용된다.
void main() { Set<int> numbers = {1, 2, 3, 4}; numbers.add(1); numbers.add(1); numbers.add(1); print(numbers); // {1, 2, 3, 4} // Set 자료구조는 하나의 요소가 유일하다. // 무슨 말이냐면 요소 간 중복을 허용하지 않으며, 순서가 보장되지 않는다. }
- 중복 제거가 필요할 때
- 여러 개의 데이터 중 중복된 요소를 자동으로 제거해야 할 때 유용합니다.
- 집합 연산이 필요할 때
- 교집합, 합집합, 차집합과 같은 집합 연산을 쉽게 수행할 수 있습니다.
- 빠른 검색이 필요할 때
- 리스트에 비해 특정 요소를 포함하는지 확인하는 작업이 더 빠릅니다.
'프론트 > Dart' 카테고리의 다른 글
Dart#3. 함수 (3) 2024.11.03 Dart #1. Hello World (0) 2024.10.27 Dart #0. 시작 (1) 2024.10.25 - $와 변수 삽입