μ€μννΈλ‘ μ½λλ₯Ό μμ±νλ€λ³΄λ©΄ κ°λ Type Annotationμ κ΄ν μ€λ₯κ° λ°μν λκ° μλ€.
κ·Έλ¦¬κ³ κ΅¬κΈλ§ ν λλ μ΄λ Έν μ΄μ μ΄λΌλ λ¨μ΄λ₯Ό λ§μ΄ λ°κ²¬ν μ μμλ€.
κ·Έλ₯ λ¬Έλ§₯ μ λ³μ μμ±μ νμ μ μ§μ ν΄μ£Όλ κ²μ λ»νλ€κ³ μ΄ν΄νκ³ μμλλ°,
μ€λμ μ€μννΈμ Type Annotationκ³Ό Inferenceμ λν΄ μ νν μ 리ν΄λ³΄λ €κ³ νλ€.
π Type Annotation (νμ μ΄λ Έν μ΄μ )
μ€μννΈμμλ λ³μ νΉμ μμλ₯Ό μμ±ν λ
λ³μ μ μΈ μμλ var [λ³μλͺ ]: [λ°μ΄ν° νμ ] = [κ°]μ ννλ‘,
μμ μ μΈ μμλ let [μμλͺ ]: [λ°μ΄ν° νμ ] = [κ°]μ ννλ‘ μμ±νλ€.
// λ³μ μμ±
var a1: Int
var a2: Int = 0
// μμ μμ±
let b1: Int
let b2: Int = 0
νμ§λ§ λ³μλ μμλ₯Ό μμ±ν λ κΌ λ°μ΄ν° νμ μ λͺ μν΄μ€μΌ νλ κ²μ μλλ€.
Type Inferenceλ₯Ό μ¬μ©νλ©΄ λ°μ΄ν° νμ μ λͺ μ μμ΄λ μμ±μ΄ κ°λ₯νλ€.
π Type Inference (νμ μΆλ‘ )
Type Inferenceλ λ§ κ·Έλλ‘,
λ°μ΄ν° νμ μ μ§μ μμ΄λ μ λ ₯λ κ°μ μ¦κ±°λ‘ μ»΄νμΌλ¬κ° νμ μ μΆλ‘ νμ¬ μ§μ ν΄μ£Όλ κ²μ΄λ€.
// λ³μ μμ±
var a1 = 0
var a2 = "hello"
// μμ μμ±
let b1 = 0
let b2 = "hi"
κ·Έλ¬λ μ μ½λλ₯Ό 보면 μ μ μλ―, νμ μΆλ‘ μ μ¬μ©ν λλ μ£Όμν΄μΌ ν μ μ΄ μλ€.
π₯μ£Όμν μ π₯
- λΉμ°νμ§λ§, λ³μλ μμ μ μΈ μ κΌ μ΄κΉκ°μ μ§μ ν΄μ£Όμ΄μΌ νλ€.
μ£Όμ΄μ§ μ΄κΉκ°μ κ°μ§κ³ μ»΄νμΌλ¬κ° νμ μ μΆλ‘ νμ¬ μ§μ ν΄μ£Όλ κ²μ΄κΈ° λλ¬Έμ,
μ΄κΉκ° μμ΄λ annotation μ€λ₯κ° λ°μνλ€. - νμ
μΆλ‘ μΌλ‘ λ³μλ μμλ₯Ό μμ±νμ΄λ, νμ
μΊμ€ν
μμ΄ λ€λ₯Έ νμ
μΌλ‘ λ°κΎΈμ΄ μ¬μ©νλ κ²μ λΆκ°νλ€.
μλ₯Ό λ€μ΄, μ²μμ μ΄κΉκ°μ Intλ‘ μ£Όμλ€λ©΄ κ·Έ λ³μλ μμλ Intλ‘ μ§μ λ κ²μ΄κΈ° λλ¬Έμ
μ΄νμ λ€λ₯Έ νμ μ κ°μ μ μ₯νλ κ²μ λΆκ°λ₯νλ€.
πμ 리 π
νμ
μ΄λ
Έν
μ΄μ
μ λ³μλ μμμ μμ± μ λ°μ΄ν° νμ
μ μ§μ ν΄μ£Όλ κ², μΆλ‘ μ μ§μ μν΄μ£Όλ κ².
νμ
μΆλ‘ μ¬μ©μμλ κΌ μ΄κΉκ° μ§μ ν΄μ£ΌκΈ°!
μ°Έκ³
- π μ€μννΈ νλ‘κ·Έλλ°
- https://babbab2.tistory.com/14
'3οΈβ£ Swift > Swift μ 리' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Swift] sorted, joined ν¨μ μ¬μ© μ μ£Όμ μ¬ν! (0) | 2021.06.13 |
---|---|
[Swift] μ΅μ λ μΆμΆ (κ°μ μΆμΆ, μ΅μ λ λ°μΈλ©, μ΅μ λ 체μ΄λ) μ 리 (4) | 2021.06.12 |
[Swift] Int, Int64? (0) | 2021.06.09 |
[Swift] let ν€μλλ₯Ό μ¬μ©νλ μ΄μ (μμλ₯Ό μ¬μ©νλ μ΄μ ) (2) | 2021.06.09 |
[Swift] μ€μννΈμ μΈμ΄μ νΉμ± (2) | 2021.06.09 |
λκΈ