[Swift λ¬Έλ²] 03. Swift μ κΈ°λ³Έ λ°μ΄ν°νμ κ³Ό μμ λ³μμ μ μΈμ μμ보μ.
ν΄λΉ κΈμ μΌκ³°λμ μ€μννΈ κ°μμ κ°μΈμ μΈ κ³΅λΆλ₯Ό μ 리ν κΈμ λλ€.
1. Swift μ κΈ°λ³Έ λ°μ΄ν° νμ (DataType)
μλ νμΈμ! λ²μ¨ 21λ μ΄ 4μΌμ΄λ μ§λ¬λ€μ.. μκ° μ°Έ λΉ λ₯΄μ£ ? λ€λ€ μ¬ν΄ λͺ©νν κ²λ€ μ΄λ£¨μ€κ±°μμ!
μ μ΄λ² ν¬μ€νΈμμλ Swift μ κΈ°λ³Έ λ°μ΄ν° νμ 7κ°μ§ (Int , UInt , Float , Double , Bool, Character, String) μ λν΄μ λ€λ€λ³΄κ² μ΅λλ€. λ¬Όλ‘ νν, 컬λ μ (Array,Dictionary,Set), μ΄κ±°νλ μμ§λ§ λ€μ ν¬μ€νΈμμ λ€λ£¨λλ‘ νκ² μ΅λλ€!
μ€μννΈμ κΈ°λ³Έ λ°μ΄ν° νμ μ λͺ¨λ ꡬ쑰체λ₯Ό κΈ°λ°μΌλ‘ ꡬνλμ΄μμ΅λλ€. κ·Έλ¦¬κ³ λͺ¨λ λ°μ΄ν° νμ μ μ΄λ¦μ 첫 κΈμκ° λλ¬Έμλ‘ μμνλ Upper Camel Case λ₯Ό μ¬μ©ν©λλ€!
- Int μ UInt
λ€λ₯Έ μΈμ΄λ₯Ό 곡λΆνμ ¨μΌλ©΄ μμκ² μ§λ§, Int λ 0,+,- λΆνΈλ₯Ό ν¬ν¨ν μ μμ΄κ³ UIntλ 0μ ν¬ν¨ν μμ μ μμ λλ€. Int μ UIntμ ν¬κΈ°λ μ¬μ©νλ νλ«νΌμ λ°λΌ 32-bit νΉμ 64-bitμ ν¬κΈ°λ₯Ό κ°μ§λλ€. κ·Έ μ΅λκ°κ³Ό μ΅μκ°μ μκ³ μΆλ€λ©΄ min, maxνλ‘νΌν°λ₯Ό μ¬μ©νμ¬ νμΈ ν μ μμ΅λλ€. - Float κ³Ό Double
Float κ³Ό Doubleμ λΆλμμμ μ μ¬μ©νλ μ€μμ λλ€. λΆλμμμ μ μ½κ² μμμ μλ¦¬κ° μλ μλ₯Ό λ»ν©λλ€. Doubleμ 64bit ν¬κΈ° , Floatμ 32bit ν¬κΈ°μ λΆλμμ νμ μ λλ€. μμμ μ μ¬μ©ν΄μΌ ν λμΈλ° 무μμ μ¨μΌν μ§ λͺ¨λ₯΄κ² λ€λ©΄ Double νμ μ μ°μκΈΈ λ°λλλ€. - Bool
Boolμ λΆλ¦¬μΈ νμ μΌλ‘ μ°Έ(true) λλ κ±°μ§(false)λ§μ κ°μΌλ‘ κ°μ§λλ€. C λ C++ μμ μ²λΌ 0κ³Ό 0μ΄ μλμλ‘ trueλ falseλ₯Ό λνλΌ μ μλ€λ κ²μ μ£ΌμνμκΈ° λ°λλλ€. - Character κ³Ό String
μ€μννΈμμλ μ λμ½λ 9μ μ¬μ©ν μ μκΈ° λλ¬Έμ μ λμ½λμμ μ§μνλ λͺ¨λ μΈμ΄μ μ΄λͺ¨ν°μ½, νΉμκΈ°νΈλ₯Ό μ¬μ© ν μ μμ΅λλ€. Characterλ λ§ κ·Έλλ‘ λ¨ νλμ λ¬Έμλ₯Ό λ»ν©λλ€.
Stringμ λ¬Έμλ€μ λμ΄, λ¬Έμμ΄μ λλ€. κ·Έλ¦¬κ³ Characterκ³Ό String λͺ¨λ ν°λ°μ΄ν(" ")λ₯Ό μ¬μ©ν΄ νννλ κ²μ΄ νΉμ§μ λλ€. νΉν Swiftμμ Stringμ λ§μ λ©μλλ₯Ό μ§μνκΈ° λλ¬Έμ λ¬Έμμ΄μ μ½κ² λ€λ£° μ μμ΅λλ€. String λ©μλλ μΆν ν¬μ€ν μμ λ€λ£¨κ² μ΅λλ€.
import Swift
// κΈ°λ³Έ λ°μ΄ν° νμ
//Int : μ μνμ
μΌλ‘ κΈ°λ³Έμ μΌλ‘ 64λΉνΈ μ μν
//UInt : μμ μ μνμ
, 64λΉνΈ μμ μ μν
var someInt: Int = -100
var someUInt: UInt = 10
print("Intλ [\(Int.min) ~ \(Int.max)]μ κ°μ κ°μ§λλ€.")
print("λ§μ½ 32-bit platfromμ΄λ©΄ Intλ [\(Int32.min) ~ \(Int32.max)]μ κ°μ κ°μ§λλ€.")
// String : λ¬Έμμ΄ νμ
, μ λμ½λ μ¬μ©, ν° λ°μ΄ν("") μ¬μ©
// Character : λ¬Έμ νμ
, μ λμ½λ μ¬μ©, ν°λ°μ΄ν("") μ¬μ©
var someString: String = "someString"
var someCharacter: Character = "π"
print(someCharacter)
// Bool : true μ falseλ§μ κ°μΌλ‘ κ°μ§λ νμ
, C λ C ++ μ²λΌ 0,1μ κ°μΌλ‘ λ체ν μ μλ€.
var someBool: Bool = false
//Float : μ€μ νμ
, 32λΉνΈ λΆλμμν
//Double : μ€μ νμ
, 64λΉνΈ λΆλμμν
var someDouble: Double = 10.0
var someFloat: Float = 1.23
// λ§μ½ λ°μ΄ν° νμ
μ λͺ
μ νμ§ μκ³ μ μΈνλ©΄ μ΄λ»κ² λ κΉ?
let integer = 28
let floating = 123.45
let myName = "j"
print(type(of: integer))
print(type(of: floating))
print(type(of: myName))
// μμλλ‘ Int , Double , String μ΄ λλ€. Swift μ Type Inferenceμ λ°λ₯Έ κ²°κ³Όμ΄λ€.
2. μμμ λ³μ ( Variable , Constant )
λ³μμ μμλ νΉμ νμ μ ν΄λΉνλ κ°μ μ΄λ¦μ λλ€. λ³μλ μμ± ν μΆνμ λ°μ΄ν° κ°μ λ³κ²½ ν μ μμ§λ§ μμλ νλ² μ§μ ν΄ λμΌλ©΄ λ³κ²½ν μ μμ΅λλ€. Swiftλ μ μΈ μ λ°μ΄ν° νμ μ μλ΅νλ©΄ μ»΄νμΌλ¬κ° νμ μ μΆλ‘ νμ¬ νμ μ μ§μ νμ§λ§ λλλ‘ μ΄λ©΄ νμ μ μ§μ ν΄μ μ¬μ©νμκΈ° λ°λλλ€.
- λ³μ : var [λ³μλͺ
]: [λ°μ΄ν°νμ
] = [κ°] μ ννλ‘ μ μΈν©λλ€.
- μμ : let [λ³μλͺ ]: [λ°μ΄ν°νμ ] = [κ°] μ ννλ‘ μ μΈν©λλ€.
// λ³μ μ μμ
import Swift
var name: String = "unknown"
print(name)
name = "extramilejin"
print("μ μ μ΄λ¦μ \(name) μ
λλ€.")
let age: Int = 28
// age = 20 -> μ»΄νμΌ μ€λ₯
// νμ
μλ΅μ κ²½μ°μλ μ»΄νμΌ λλ€.
var studentName = "extramiljin"
3. λ§λ¬΄λ¦¬
μ€μννΈλ νμ κ³Ό λμ΄μ°κΈ°μ μλΉν λ―Όκ°ν©λλ€. νμ μ½λ μμ±ν λ μ λ νμκΈΈ λ°λμ! λ€μ ν¬μ€ν μμλ λ°μ΄ν°νμ μ μ’ λ μμΈνκ² λ€λ€λ³΄κ² μ΅λλ€! λ μ¨κ° μΆμμ§λλ° κ°κΈ°μ‘°μ¬νμΈμ~!