Swift 조건문
if문
if 조건식 {
실행문
}
else if 조건식 {
실행문
}
else {
실행문
}
- 조건문을 소괄호로 묶는 것은 생략할 수 있다.
- Swift에서 if문 조건식의 값은 반드시 Bool형을 사용해야 한다.
switch문
switch 입력값: {
case 비교값:
실행문
case 비교값:
실행문
case 비교값3, 비교값4, 비교값5:
실행문
default:
실행문
}
- 입력값을 소괄호로 묶는 것을 생략할 수 있다.
- 입력값으로 정수뿐만 아니라 다양한 타입의 값을 사용할 수 있다. (C/C++은 정수만 가능함)
- case문 body의 break문을 생략할 수 있다. C와 달리 밑에 것들까지 실행되지 않는다.
- 다음 case 문의 비교값과 비교하지 않고 다음 case문의 body를 실행하려면 fallthrough문을 사용한다. C처럼 하고 싶을 때 사용한다.
- case문의 body에는 반드시 실행문이 있어야 한다.
Swift 반복문
for-in문
for 상수 in 변수 {
실행문
}
- 상수는 for-in문 내에서만 사용되는 지역 상수이다. (i 말하는 거임)
- break문과 continue문을 사용할 수 있다.
for i in 0...2 {print("i: \(i)")}/*실행결과i: 0i: 1i: 2*/
- for-in문 내에서 i에 변화를 주면 상수이기 때문에 에러가 발생하므로 var로 정의해주어야 한다.
for var i in 0...10 {i += 1if i<5 {print("i: \(i)")continue} else if i == 5 {break}}/*실행결과i: 1i: 2i: 3i: 4*/
- 상수 대신 와일드 카드를 사용할 경우, for문의 반복 횟수를 정의한다고 생각하면 된다.
var result: Int = 1for _ in 0...2 {result *=10}print("result: \(result)")/*실행결과result: 1000*/
- 문자열과 배열은 파이썬처럼 출력할 수 있다.
var str: String = "abc"for i in str {print("\(i)")}/*실행결과abc*/
- 딕셔너리의 각 item은 튜플로 분해된다.
var dic: Dictionary<String, Int> = ["A": 20, "B": 30, "C": 40]for i in dic {print("\(i)")}/*(key: "A", value: 20)(key: "B", value: 30)(key: "C", value: 40)*/for (name, age) in dic {print("\(name): \(age)")}/*A: 20B: 30C: 40*/
while문
while 조건식 {
실행문
}
repeat {
실행문
} while 조건식
C의 do-while문은 repeat-while문으로 구현할 수 있다.
Fortran
반복문명: for 상수 in 변수 {
실행문
}
반복문명: while 조건식 {
실행문
}
- 중첩된 반복문을 구분하기 위해 반복문에 이름을 지정할 수 있다.
- 근데 반복문 많이 중첩하는 거 프로그래머들이 엄청 싫어한다고 들었음.
numbersLoop: for num in numbers {if num > 5 || num < 1 {continue numbersLoop}var count: Int = 0printLoop: while true{print(num)count += 1if count == num {break printLoop}}removeLoop: while true {if numbers.first != num {print("numbers: \(numbers)")break numbersLoop}numbers.removeFirst()}}
0 댓글