[Flutter] 스나이퍼팩토리 Flutter 기초과정 (13)

GONG·2023년 4월 7일
0
post-thumbnail

13일차 과제 링크 👉 13일차 과제

Map

  • 변수 하나에 많은 데이터를 담고 싶을 때
  • Key와 value 형태로 데이터를 담아줄 수 있음
    var myInfo = {
      "name": 'aaa',
      "height": 111.1,
      "age": 44,
      "phone": '011-1234-1231'
    };
  • name만 가져와서 출력
    print(myInfo["name"]);
  • height의 데이터타입
    print(myInfo['height'].runtimeType);
  • 모든 음식의 이름만 Text위젯으로 보여주기
    var options = [
      {
        'foodName': '떡볶이',
        'foodPrice': 4500,
        'foodDetail': '사골육수로 우려낸 떡볶이입니다. 맛있으니까 드셔보세요',
      },
      {
        'foodName': '김치찌개',
        'foodPrice': 5500,
        'foodDetail': '맛있겠다',
      },
      {
        'foodName': '맥주',
        'foodPrice': 500,
        'foodDetail': '벌컥벌컥',
      },
    ];
    
    options.map((e) => Text(e['foodName'])).toList()

Map 타입추론

  • Map에도 Generic 사용 가능, key와 value의 데이터 타입을 지정해줄 수 있다
    Map<String, dynamic> human1 = {
      'name': 'bbb',
      'age': 99,
    };

Map은 Json과 비슷하게 생겼다!

  • Json

    "human1": {
        "name": "name",
        "age": 123,
        "job": null
    }
  • 데이터 타입 표현이 가능

  • Key, Value 형식으로 동작

  • 컴마로 값을 구분

Map 활용하기

  • length

    • 포함된 key-value 쌍의 수를 반환
  • isEmpty

    • 비어있는지 여부를 반환
  • keys

    • key들을 반환
  • values

    • value들을 반환
  • containsKey

    • 주어진 key가 Map에 포함되어 있는지 확인

13일차 끝

chatGPT... 따뜻하네요

profile
우와재밋다

0개의 댓글