스위프트 기초 시리즈
- Swift 기초 (1): 상수, 변수, 배열, 사전
- Swift 기초 (2): if 문, for ~ in 문, while 문, switch 문
- Swift 기초 (3): 함수 (function)
- Swift 기초 (4): 클래스, 옵셔널과 nil
- Swift 기초 (5): Enum (열거형; Enumeration)
- Swift 기초 (6): 프로토콜 (Protocol)
- Swift 기초 (7): 에러 처리 (Error Handling)
- Swift 기초 (8): 제네릭 타입 (Generic Type)
- Swift(스위프트): 클로저 (Closure) 1
if 문 (if…else, if…else i…else)
if문은 조건에 따라 해야 될 작업을 분기할 때 사용합니다. 참고로 조건문에 괄호를 붙이지 않습니다.
var myScore = 56
if myScore >= 50 {
print("\(myScore)점: 합격")
} else {
print("\(myScore)점: 불합격")
}
복수의 조건에 따라 분기하고자 할 때는 else if 문을 추가합니다.
if myScore >= 80 {
print("\(myScore)점: 우수합격")
} else if myScore >= 50 {
print("\(myScore)점: 합격")
} else {
print("\(myScore)점: 불합격")
}
for ~ in 문
for문은 반복되는 작업을 수행할 때 사용합니다. 앞서 언급한 배열, 사전과 궁합이 잘 맞습니다. 참고로 조건문에 괄호를 붙이지 않습니다.
for [for문_내부에서_사용할_변수이름] in [범위] { ..... }
95, 65, 70, 54, 77의 원소가 들어 있는 ‘성적‘ 이라는 이름의 상수 배열을 생성하고, 원소들의 총합을 for...in 문을 이용해 계산하는 방법은 다음과 같습니다.
let 성적 = [95, 65, 70, 54, 77]
var sumOf성적 = 0
for score in 성적 {
sumOf성적 += score
}
for...in 문의 범위에는 사전이나 배열이 들어갈 수도 있지만, 일반 숫자가 들어갈 수도 있습니다. 1에서 12까지 총 12번을 반복하고 싶다면 범위에 1...12를 입력합니다. (또는 1..<13)
var sum = 0
for i in 1...100 {
sum += i
}
print(sum) // 5050
퀴즈 1. if문을 이용해 위 ‘성적’ 배열의 각 점수의 합불 여부를 표시하시오. 단, 70점 이상이어야 합격 처리한다.
for score in 성적 {
if score >= 70 {
print("\(score)점: 합격")
} else {
print("\(score)점: 불합격")
}
}
95점: 합격
65점: 불합격
70점: 합격
54점: 불합격
77점: 합격
while 문 (while, repeat…while)
while문은 일반적으로 for문의 하위 호환격인 문법으로 알려져 있으나, while문에서만 독자적으로 처리할 수 있는 케이스도 있으므로 알아두는 것이 좋습니다. repeat...while문은 다른 프로그래밍 언어의 do...while문에 해당하는 구문입니다.
===== while 문 =====
var n = 2
while n < 100 {
n = n * 2
}
print(n) // 128
===== repeat...while 문 =====
var m = 2
repeat {
m *= 2
} while m < 100
print(m) // 128
switch 문
break에 해당하는 기능이 기본 내장되어 있기 때문에 별도 명시할 필요가 없으며, default 문이 반드시 들어가야 합니다.
let vegetable = "red pepper"
var vegetableComment = ""
switch vegetable {
case "celery":
vegetableComment = "Add some raisins and make ants on a log."
case "cucumber", "watercress":
vegetableComment = "That would make a good tea sandwich."
case let x where x.hasSuffix("pepper"): // vegetable을 상수 x로 옮기고, 조건은 문장의 끝이 pepper인가?
vegetableComment = "Is it a spicy \(x)?"
default:
vegetableComment = "Everything tastes good in soup."
}
print(vegetableComment)
Is it a spicy red pepper?
스위프트 기초 시리즈
- Swift 기초 (1): 상수, 변수, 배열, 사전
- Swift 기초 (2): if 문, for ~ in 문, while 문, switch 문
- Swift 기초 (3): 함수 (function)
- Swift 기초 (4): 클래스, 옵셔널과 nil
- Swift 기초 (5): Enum (열거형; Enumeration)
- Swift 기초 (6): 프로토콜 (Protocol)
- Swift 기초 (7): 에러 처리 (Error Handling)
- Swift 기초 (8): 제네릭 타입 (Generic Type)
- Swift(스위프트): 클로저 (Closure) 1





0개의 댓글