Map에서 값 찾기
Coddy Flutter 여정의 목록과 화면 섹션에 포함된 레슨. 33개 중 17번째.
Map은 쌍을 저장합니다. 조회할 키와 그에 해당하는 값으로, 사전에 있는 단어와 그 뜻 같은 것입니다. 여기서는 게임 상점의 각 항목에 가격이 있습니다:
Map<String, int> prices = {
'Sword': 120,
'Potion': 25,
};
prices['Sword'] // 120
prices['Axe'] // null: Axe가 없습니다Map<String, int>은 키가 문자열이고 값이 정수라는 뜻입니다. 대괄호 안에 키를 넣어 값을 조회합니다. 맵에 없는 키를 조회하면 null이 반환됩니다.
prices['Bow'] = 150;으로 쌍을 추가하거나, 맵에 직접 작성할 수 있습니다. prices.keys는 추가된 순서대로 모든 키를 반환하며, for에서 사용할 수 있습니다.
챌린지
쉬움상점에 상품이 나열되어 있지만 가격은 표시되지 않습니다. 가격을 표시하고 상품을 하나 더 추가하세요:
- 각 행의 끝에
120 coins와 같이prices에서 찾아온 상품 가격을 표시하세요 - 지도에
150코인의Bow를 추가하세요
직접 해보기
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
final Map<String, int> prices = {
'Sword': 120,
'Shield': 90,
'Potion': 25,
};
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(title: const Text('Shop')),
body: ListView(
children: [
for (String item in prices.keys)
ListTile(
title: Text(item),
),
],
),
),
);
}
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
목록과 화면의 모든 레슨
직접 연습해 보세요: 온라인 Flutter 컴파일러