Sobes.tech
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) ва хешшаванда бошанд, то луғат дуруст кор кунад.