프로그램은 값을 저장할 필요가 있는 경우가 있습니다.
스위프트에서는 상수 및 변수라는 방법을 통해 값을 저장할 수 있습니다.
변수는 여러번 값을 변경할 수 있고 상수는 한 번 저장하면 값을 변경할 수 없습니다.
값을 절대 변경하지 않아야할 때 실수를 방지하기 위해 이런 상황에서는 상수를 사용해야합니다. 빌드하는 시점에 미리 값이 절대 변경되지 않는다는 것을 알려줄 수 있어서 코드를 더 빠르게 실행할 수 있습니다.
var
키워드는 매번 사용하지 않고 선언하는 시점에만 사용합니다.
var name = "Tim McGraw"
name = "Romeo"
데이터의 종류는 여러가지가 있습니다. 스위프트는 이런 데이터의 종류를 개별적으로 처리합니다.
Float
, Double
이 있지만 Double
이 더 높은 정확도를 가지고 있기 때문에 권장합니다.let floatArr: [Float] = [-86.783333, -186.783333, -1286.783333,
-12386.783333, -123486.783333, -1234586.783333]
for i in 0..<floatArr.count {
print(floatArr[i])
}
// 실행결과
-86.78333
-186.78334
-1286.7833
-12386.783
-123486.78
-1234586.8
예시를 보면, Float
자료형을 사용한 경우 소수점 앞의숫자를 증가시킬 수록 뒤의 숫자를 제거하는 결과가 출력됩니다. 이것은 숫자를 저장할 공간이 제한되어 있기 때문에 중요한 부분부터 저장하는 원리때문입니다.
따라서 Double
을 사용하면 정확한 숫자가 출력될 것입니다. (너무 큰 숫자인 경우 한계가 있습니다.)
🌟 변수,상수 명은 소문자로 작성하는 것이 좋습니다. 단어별 구분은 카멜케이스 권장
산술연산자 : +
, -
, *
, /
, %
할당연산자 : =
복합할당연산자 : +=
, -=
, *=
, /=
, %=
비교연산자 : >
, <
, >=
, <=
, ==
, !=
문자열 보간법 : 문자열 안에 변수와 상수를 사용할 수 있는 방법
var age = 25
"You are \(age) years old. In another \(age) years you will be \(age * 2)."
변수나 상수가 String
인 경우 +
연산자를 사용할 수 있지만 여러 데이터타입을 처리하는 경우 보간법을 사용하는 것이 편리합니다.
배열은 같은 타입의 여러값을 하나의 컬렉션으로 그룹화할 수 있습니다.
Any
라는 특수한 데이터 타입을 사용합니다.// MARK: - 빈배열 할당
var songs: [String] = []
var songs = [String]()
딕셔너리는 지정한 키를 기반으로 값에 접근할 수 있는 컬렉션타입입니다.
var person = [
"first": "Taylor",
"middle": "Alison",
"last": "Swift",
"month": "December",
"website": "taylorswift.com"
]
person["middle"]
person["month"]
특정 조건이 참인 경우에만 코드가 실행되기를 원하는 경우 조건문을 사용합니다.
if ~ else if ~ else
&&
, ||
연산자를 사용합니다.var action: String
var stayOutTooLate = false
var nothingInBrain = true
if stayOutTooLate && nothingInBrain {
action = "cruise"
}
stayOutTooLate
, nothingInBrain
두 조건이 모두 참이여야 코드가 실행되지만 스위프트는 성능을 높이기 위해 두 조건을 모두 검사하지 않고 앞 조건이 false
라면 바로 다음 코드로 넘어갑니다.코드를 반복적으로 사용하는 경우 반복문을 사용할 수 있습니다.
for 상수 in 범위
, while 조건
, repeat 코드 while 조건
for
문에서 상수를 사용할 일이 없다면 _
와일드카드를 사용할 수 있습니다.break
, continue
var songs = ["Shake it Off", "You Belong with Me", "Look What You Made Me Do"]
for song in songs {
print("My favorite song is \(song)")
}
// 실행결과
My favorite song is Shake it Off
My favorite song is You Belong with Me
My favorite song is Look What You Made Me Do
조건문 중 또다른 방법인 switch case
구문이 있습니다.
let liveAlbums = 1
let myAlbums = 1
switch liveAlbums {
case 0..<1:
print("You're just starting out")
case myAlbums:
print("You just released iTunes Live From SoHo")
case 2:
print("You just released Speak Now World Tour")
default:
print("Have you done something new?")
}