Junior
Калид ва арзиши луғат метавонад чӣ бошад?
sobes.tech AI
Ҷавоб аз AI
Дар iOS (Swift), луғат (Dictionary) маҷмӯаи ҷуфтҳои "калид-арзиш" мебошад.
-
Калид метавонад ҳар навъ бошад, ки протоколи
Hashable-ро қонеъ мекунад. Ин маъно дорад, ки калид бояд хешшаванда бошад, то барои ҷустуҷӯи зуд истифода шавад. Масалан,String,Int,UUIDва дигар навъҳои стандартӣ. -
Арзиш метавонад ҳар навъ бошад, аз ҷумла структураҳо, синфҳо, primitives ё ҳатто дигар маҷмӯаҳо.
Масалан:
var dict: [String: Int] = ["apple": 3, "banana": 5]
// Калид — String (хешшаванда), арзиш — Int
// Мумкин аст, ки навъҳои фармоишӣ низ истифода шаванд, агар онҳо `Hashable`-ро қонеъ кунанд:
struct User: Hashable {
let id: Int
let name: String
}
var userScores: [User: Double] = [:]
Муҳим аст, ки калидҳо бояд тағирнопазир (immutable) ва хешшаванда бошанд, то луғат дуруст кор кунад.