TIL 240117
μ€λ ν¬μ€ν μ Swift κΈ°λ³Έ λ¬Έλ²μ λν΄ μ 리ν΄λ³΄λ € νλ€!π
κ·Έ μ€
λ³μμ μμ , 그리κ³
νμ μΆλ‘ (Type Inference) vs νμ μ΄λ Έν μ΄μ (Type Annotation) μ΄λ€.
1. Swiftμ λ³μ, μμ μ μΈ
- μμ μ μΈ ν€μλ let
- λ³μ μ μΈ ν€μλ var
let μ΄λ¦: νμ = κ°
var μ΄λ¦: νμ = κ°
π μ°μ μ€μννΈμμ κΈ°λ³Έμ μΌλ‘ λ³μλ μμλ₯Ό μ§μ νλ ννμ΄λ€.
var welcome: String = "Hello Swift!"
let yj: String = "My name is yj"
λ€μκ³Ό κ°μ΄ ν€μλ, μ΄λ¦, νμ , κ°μ μ§μ ν΄μ£Όμ΄μΌ νλ€.
var welcome // error
let yj // error
μμ μ½λμ²λΌ μ΄λ κ²λ§ μ΄λ€λ©΄
"Type annotation missing in pattern"
λΌλ νμ
μ΄λ
Έν
μ΄μ
μ΄ λλ½λμλ€λ μ€λ₯κ° λ¬λ€.
λ°λΌμ λ³μλ μμλ₯Ό μ μΈν λμλ νμ
(μλ£ν!)μ μ μ μκ² μ§μ ν΄μ£Όμ΄μΌ νλ€.
νμ§λ§ κ°μ νμ
μ΄ μ ννκ² λͺ
μλμ΄ μλ€λ©΄ Typeμ μλ΅ν μ μλ€.
λ°λ‘ νμ
μΆλ‘ μ΄λΌλ κ²μ΄λ€.
2. νμ μΆλ‘ (Type Inference)
- κ°μ νμ μ΄ μ ννλ€λ©΄ νμ μ μλ΅ κ°λ₯
let μ΄λ¦ = κ°
var μ΄λ¦ = κ°
var welcome = "Hello Swift!"
let yj = "My name is yj"
λ³μλ μμλ₯Ό μ μΈν λ μ΄κΈ°κ°μ μ§μ ν΄μ£Όλ κ²μ΄λ€!
μ΄λ κ² μμ±νλ€λ©΄ μ»΄νμΌλ¬κ° κ°μ("Hello Swift")λ₯Ό λ³΄κ³ νμ μ μΆλ‘ ν μ μλ€.
Stringκ°μ΄λ νμ μ String λ‘ μ§μ νκ² λλ€.
3. νμ μ΄λ Έν μ΄μ (Type Annotation)
- μμ μ μΈ νμ λμ€μ κ° ν λΉνκΈ°
let μ΄λ¦: νμ
var μ΄λ¦: νμ
λ€μκ³Ό κ°μ΄ λ³μ, μμλ₯Ό μ μΈν λ νμ λ§ μ§μ ν΄λλ κ²μ΄λ€.
μ΄κΈ°κ°μ μ€μ νμ§ μκ³ κ°μ λμ€μ ν λΉνλ©΄ λλ€.
λμ λμ€μ ν λΉνλ €κ³ νλ μμλ λ³μλ νμ μ κΌ λͺ μν΄μ£Όμ΄μΌ ν¨!
// μμμ λ³μ
let constant: String = "μ°¨νμ λ³κ²½μ΄ λΆκ°λ₯ν μμ let"
var variable: String = "μ°¨νμ λ³κ²½μ΄ κ°λ₯ν λ³μ var"
variable = "λ³μλ μ΄λ κ² μ°¨νμ λ€λ₯Έ κ°μ ν λΉν μ μλ€"
// constant = "μμλ μ°¨νμ κ°μ λ³κ²½ν μ μλ€" // μ€λ₯λ°μ
var sum: Int
let inputA: Int = 100
let inputB: Int = 200
// μ μΈ ν 첫 ν λΉ
sum = inputA + inputB
print("sum : \(sum)")
sum = 400
print("chang sum : \(sum)")
// sum = 1 // κ·Έ μ΄νμλ λ€μ κ°μ λ°κΏ μ μλ€, μ€λ₯λ°μ
// λ³μλ λ¬Όλ‘ μ°¨νμ ν λΉνλ κ²μ΄ κ°λ₯
var nickName: String
nickName = "yujin"
// λ³μλ μ°¨νμ λ€μ λ€λ₯Έ κ°μ ν λΉν΄λ λ¬Έμ κ° μμ
nickName = "yj"
'Devlogπ©π»βπ» > Swift' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Swift] Optional (3) | 2024.03.08 |
---|---|
[Swift] 컬λ μ νμ (Collection Type) - Dictionary, Set (2) | 2024.01.24 |
[Swift] 컬λ μ νμ (Collection Type) - Array (3) | 2024.01.23 |
[Swift] String λ¬Έμμ΄μμ Index μ κ·ΌνκΈ°(String.Index) (2) | 2024.01.18 |
[Swift] 쑰건문μμ ','μ '&&'μ μ°¨μ΄ (3) | 2024.01.16 |