[SWIFT] 컬λ μ ( Array, Set, Dictionary, KeyValuePairs )
컬λ μ ?
μ¬λ¬ κ°μ μμλ₯Ό μ μ₯νκ³ μ‘°μν μ μλ μλ£κ΅¬μ‘°
컬λ μ μ λ°μ΄ν°λ₯Ό κ·Έλ£Ήννκ³ ν¨μ¨μ μΈ λ°μ΄ν° μ‘°μμ μν΄ μ¬μ©λλ€.
Array
μμκ° 'μλ' μμμ μ§ν© (μ€λ³΅ κ°λ₯)
λμΌν νμ μ λ°μ΄ν°λ§ λ΄μ μ μμ
μΈλ±μ€λ₯Ό μ¬μ©νμ¬ κ° μμμ μ κ·Όν μ μλ€. (μμμ μΆκ° , μμ , μμ λ± λ€μν μμ μ ν μ μμ)
- λΉ λ°°μ΄ μμ± λ°©λ² (λΉ arrayλ₯Ό μμ±ν λλ μλ£νμ κΌ λͺ μν΄μΌν¨)
let emptyArray1: [Int] = []
let emptyArray2 = Array<Int>()
let emptyArray3 = [Int]()
- λ°μ΄ν°λ₯Ό κ°μ§κ³ μλ λ°°μ΄ μμ± λ°©λ² (Type Inference κ°λ₯, λ°°μ΄λ§ κ°λ₯ν¨)
var numsArray = [1, 2, 3, 4, 5]
Set
μμκ° 'μλ' μ μΌν μμλ€μ μ§ν© (μ€λ³΅ λΆκ°)
λ€μν μ§ν© μ°μ° μνμ΄ κ°λ₯νλ€. (λ©€λ²μν μ€νΈ, κ΅μ§ν©, ν©μ§ν©, μ°¨μ§ν©λ± λ€μν μμ μ ν μ μμ)
Hashableν¨ (μ λ ¬ μμλ³΄λ€ κ²μ μλκ° μ€μν κ²½μ°μ μ¬μ©)
λ μ¬μ©λλ νμ μΌλ‘, μ μΌνλ©΄μ, μ§ν©μ μνμ μΈ κ°λ μ μ΄μ©ν νμκ° μμ λ νμ μ μΌλ‘ μ¬μ©λ¨
- λΉ Setμ μμ± (λΉ Setμ μμ±ν λλ μλ£νμ κΌ λͺ μν΄μΌν¨)
let emptySet: Set<Int> = []
let emptySet1 = Set<Int>()
- λ°μ΄ν°λ₯Ό κ°μ§κ³ μλ Set μμ± λ°©λ²
// λ¨μΆλ¬Έλ²
let set1: Set = [1, 2, 3]
// μ μλ¬Έλ²
let set2: Set<Int> = [1, 2, 3]
Dictionary
μμκ° 'μλ' key - value μμΌλ‘ ꡬμ±λ μμμ μ§ν© (μ€λ³΅ λΆκ°)
κ° μμλ keyλ₯Ό μ¬μ©νμ¬ μ κ·Όμ΄ κ°λ₯νλ€. (keyλ₯Ό κΈ°λ°μΌλ‘ κ°μ μ μ₯νκ³ κ²μνλλ° μ¬μ©λ¨)
keyκ°μ μ μΌν΄μΌν¨, Hashableν΄μΌν¨ (μ€λ³΅ λΆκ°λ₯)
1κ°μ λμ λ리μλ λμΌν μλ£ν μμ λ°μ΄ν°λ§ λ΄μ μ μμ
- λΉ λμ λ리μ μμ±(λΉ Dictionaryλ₯Ό μμ±ν λλ μλ£νμ κΌ λͺ μν΄μΌν¨)
let emptyDic1: Dictionary<Int, String> = [:]
let emptyDic2 = Dictionary<Int, String>()
let emptyDic3 = [Int: String]()
- λ°μ΄ν°κ° μλ λμ λ리 μμ±
let emptyDic1: Dictionary<Int, String> = [:]
let emptyDic2 = Dictionary<Int, String>()
let emptyDic3 = [Int: String]()
keyValuePairs
μμκ° μλ key- value μμ μ§ν© (μ€λ³΅ κ°λ₯)
λ°°μ΄κ³Ό μ μ¬ν λ°©μμΌλ‘ κ° μ μ₯, μ κ·Όμ΄ κ°λ₯νλ€.
λ μ¬μ©λλ νμ μΌλ‘ μΌλ°μ μΌλ‘λ λ°°μ΄μ΄λ λμ λ리λ₯Ό μ νΈν¨
λμ λ리μ μ μ¬ν λμμ νμνΈ ν λλ , μ λ ₯μμλ₯Ό μ€μνκ² λ€λ£°λμ νμ μ μΌλ‘ μ¬μ©ν¨
κ²μ μκ³ λ¦¬μ¦μ λΉ λ₯΄μ§ μμ
- λ°μ΄ν°κ° μλ KeyValuePairsμ μμ±(λΉ KeyValuePairsλ₯Ό μμ±ν λλ μλ£νμ κΌ λͺ μν΄μΌν¨)
let introduce: KeyValuePairs = ["first": "Hello", "second": "My Name", "third":"is"]
- λ°μ΄ν°κ° μλ KeyValuePairs μμ±
let emptypair1 : KeyValuePairs<Int,String> = [:]
let emptypair2 = KeyValuePairs<Int,String>()