دیکشنری ها (Dictionaries)
«دیکشنری (Dictionary)» در سوئیفت، داده ها را به صورت «کلید-مقدار (Key-Value)» نگه می دارد. جست وجو با کلید سریع است. با «ساب اسکریپت (Subscript)» مقدارها را می خوانیم یا می نویسیم. برای شروع، مفهوم را مثل دفتر تلفن تصور کن: نام، کلید است و شماره، مقدار.
مبانی دیکشنری ها
یک دیکشنری بساز، مقدار اضافه کن، سپس با کلید بخوان. اگر مقدار نبود، از «عملگر هم نهشتی تهی (Nil-Coalescing)» یعنی ?? مقدار پیش فرض بده.
var ages: [String: Int] = ["Kai": 30]
ages["Elisabeth"] = 25
print(ages["Kai"] ?? 0)
نکته: نوع دیکشنری را با [Key: Value] مشخص کن. کلیدها یکتا هستند.
حلقه روی کلیدها و مقدارها
می توانی روی دیکشنری حلقه بزنی. معمولاً روی keys یا values یا زوج های (key, value) می چرخیم. برای خروجی مرتب، کلیدها را sorted() کن.
let ages: [String: Int] = ["Kai": 30, "Elisabeth": 25]
for k in ages.keys.sorted() {
print("\(k): \(ages[k]!)")
}
هشدار: استفاده از ! خطر «تهی بودن» دارد. بهتر است با if let یا ?? ایمن سازی کنی.
گام های عملی
- یک دیکشنری بساز و دو جفت کلید-مقدار اضافه کن.
- با یک کلید موجود بخوان و چاپ کن.
- با کلید ناموجود بخوان و با
??مقدار پیش فرض بده.
برای مرور خانواده ساختارها، به کالکشن ها سری بزن. همچنین تفاوت با ست ها را ببین. این صفحه دیکشنری ها مرجع توست.
جمع بندی سریع
- دیکشنری، داده ها را کلید-مقدار نگه می دارد.
- جست وجو با کلید سریع و ساده است.
- ساب اسکریپت برای خواندن و نوشتن است.
??خطاهای تهی را پوشش می دهد.