[flutter] Collections: Lists, Maps, Sets

KoEunseo·2023년 4월 4일
0

flutter

목록 보기
3/45

List

  • dart에서는 배열을 객체로 여긴다!
  • 대괄호로 묶인 쉼표로 구분된 값 목록이다.
  • javascript arr와 같은듯.
    • spread 연산자 사용 가능
    • ...? null-aware spread operator(널 인식 스프레드 연산자) 라는 게 있다.
      spread+? 느낌인 것 같음. 널값을 인식해 예외를 방지한다.
var listCase = [1,2,3]; //List<int>
List listCase2 = [1,2,3];
// int가 아닌 값을 추가하려고 하면 에러 발생

void main() { 
  Map map1 = {1: 'Mango', 2: 'Apple'};
  Map map2 = {3: 'Orange', 4: 'Watermelon'};
  Map map3 = null;
  
  // null-aware spread operator merges maps
  var mergeMap = {...?map1, ...?map2, ...map3};
  print(mergeMap);

} 

collection if

리스트 내에서 if문을 사용할 수 있다.

int listCase = [
  1, 2, 3,
  if(true) 4,
]

String Interpolation

  • $변수명
  • ${변수명 + 가공} 변수를 가공할때는 중괄호로 감싸야한다!

Collection For

  • for문도 사용 가능하다.
void main() {
  var skills = ['javascript', 'html/css'];
  var newSkills = [
    'flutter',
    'typescript',
    for (var skill in skills) "👾$skill",
  ];
  print(newSkills);
}
// [flutter, typescript, 👾javascript, 👾html/css]

Maps

  • 키-값으로 이루어진 객체.(특정한 형태를 가진 경우 class를 더 추천함)
  • dart에서 object는 any와 같다.
//Map<String, bool> todo
void main() {
  var todo = {
    '산책': false,
    '식사': true,
    'flutter공부': true,
    'ts공부': true,
  };
}

Sets

  • list와 비슷하지만 unique하다.
  • 중복되는 값이 없음.
void main() {
  Set list = {1,2,3};
  list.add(1);
  print(list);
  //{1,2,3} 1이 중복되어 들어가지 않는다.
}
profile
주니어 플러터 개발자의 고군분투기

0개의 댓글