๐ ํ๋ฆ์ ์ด
ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ค๋ณด๋ฉด ํน์ ์กฐ๊ฑด์์ ์ฝ๋๋ฅผ ์คํํด์ผ ํ๊ฑฐ๋ ์คํํ์ง ๋ง์์ผ ํ๋ ์ํฉ์ด ์๊ธฐ๊ธฐ ๋ง๋ จ์ด๋ค.
๋, ํน์ ๋ช ๋ น์ด๋ฅผ ๋ฐ๋ณตํด์ ์คํํด์ผ ํ๋ ์ผ๋ ์ข ์ข ๋ฐ์ํ๋ค. ์ด๋ด๋ ์ฌ์ฉํ๋ ๊ฒ์ด ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ์ด๋ค.
์ค์ํํธ์ ํ๋ฆ์ ์ด ๊ตฌ๋ฌธ์์๋ ์๊ดํธ()๋ฅผ ๋๋ถ๋ถ ์๋ตํ ์ ์๋ค. ๋ฌผ๋ก ์ฌ์ฉํด๋ ๋ฌด๊ดํ์ง๋ง ์ค๊ดํธ{} ๋ ์๋ตํ ์ ์๋ค.
๐ ์กฐ๊ฑด๋ฌธ
๐ if ๊ตฌ๋ฌธ
์ค์ํํธ์ if ๊ตฌ๋ฌธ์ ์กฐ๊ฑด์ ๊ฐ์ด ๊ผญ Bool ํ์ ์ด์ด์ผ ํ๋ค.
let first: Int = 5
let second: Int = 7
if first > second{
print("first > second")
} else if first < second {
print("first < second")
} else {
print("first == second")
}
- else if๋ ๋ช๊ฐ๊ฐ ์ด์ด์ ธ๋ ์๊ด์์ผ๋ฉฐ else ๋ธ๋ก์ ์์ด๋ ์๊ด์๋ค.
- if ์กฐ๊ฑด์ ์ถฉ์กฑํด ๋ธ๋ก ๋ด๋ถ์ ๋ช
๋ น๋ฌธ์ด ์คํ๋๋ฉด ๊ทธ ๋ค์์ ์ด์ด์ง else if ์กฐ๊ฑด์ ์ถฉ์กฑํ๋๋ผ๋ ์คํ๋์ง ์๊ณ
์กฐ๊ฑด๋ฌธ์ ๋น ์ ธ๋์จ๋ค.
๐ switch ๊ตฌ๋ฌธ
์ค์ํํธ์ switch ๊ตฌ๋ฌธ๋ ์๊ดํธ๋ฅผ ์๋ตํ ์ ์๊ณ , break ๋ ์ ํ์ฌํญ์ด๋ค.
์ฆ, case ๋ด๋ถ์ ์ฝ๋๋ฅผ ๋ชจ๋ ์คํํ๋ฉด break ์์ด๋ switch ๊ตฌ๋ฌธ์ด ์ข ๋ฃ๋๋ค๋ ๋ป์ด๋ค. ์ค์ํํธ์์ switch ๊ตฌ๋ฌธ์ case๋ฅผ ์ฐ์ ์คํํ๋ ค๋ฉด fallthrough ํค์๋๋ฅผ ์ฌ์ฉํ๋ค.
C์ธ์ด์์๋ ์ ์ํ์ ๋ง ๋ค์ด๊ฐ ์ ์์์ผ๋ ์ค์ํํธ์์๋ switch ๊ตฌ๋ฌธ์ ์กฐ๊ฑด์ ๋ค์ํ ๊ฐ์ด ๋ค์ด๊ฐ ์ ์๋ค.
๋ ๋น๊ต๋ ๊ฐ์ด ๋ช ํํ ํ์ ์ ์ธ ๊ฐ์ด ์๋๋๋ default๋ฅผ ๊ผญ ์์ฑํด์ผ ํ๋ค.
switch ๊ตฌ๋ฌธ ๊ธฐ๋ณธ ๊ตฌํ
let integerValue: Int = 5
switch intergerValue{
case 0:
print("Value==zero")
case 1...10:
print("Value==1~10")
fallthrough // ๋ง์กฑํด๋ ํ์ถํ์ง ์๊ณ ์๋ case๋ก ๋์ด๊ฐ๋ค.
case Int.min..<0, 101..<Int.max:
print("Value < 0 or Value > 100")
break // ์ ํ์ฌํญ
default: // ํ์ ๋ ๋ฒ์๊ฐ ๋ช
ํํ์ง ์๋ค๋ฉด default๋ ํ์
print("10 < Value <= 100")
}
๋ฌธ์์ด switch case ๊ตฌ์ฑ
let stringValue: String = "Liam Neeson"
switch stringValue{
case "yagom" :
print("He is yagom")
case "Jay":
print("He is Jay")
case "Jenny", "Joker", "Nova":
print("He or She is \(stringValue)")
default:
print("\(stringValue) said 'I don't know who you are'")
}
// Liam Neeson said 'I don't know who you are'
๐ ๋ฐ๋ณต๋ฌธ
๐ for-in ๊ตฌ๋ฌธ
๊ธฐ๋ณธ ํํ
for ์์์์ in ์ํ์ค ์์ดํ
{
์คํ์ฝ๋
}
for-in ๋ฐ๋ณต ๊ตฌ๋ฌธ์ ํ์ฉ
for i in 0...2{
print(i)
}
// 0
// 1
// 2
for i in 0...5{
if i.isMultiple(of:2){
print(i)
continue // continue๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ๋ก ๋ค์ ์ํ์ค๋ก ๊ฑด๋๋ด๋ค.
}
print("\(i) == ํ์")
}
// 0
// 1 == ํ์
// 2
// 3 == ํ์
// 4
// 5 == ํ์
๐ while ๊ตฌ๋ฌธ
var names: [String] = ["Joker", "Jenny", "Nova", "yagom"]
while names.isEmpty == false{
print("Good bye \(names.removeFirst())")
// removeFirst()๋ ์์๋ฅผ ์ญ์ ํจ๊ณผ ๋์์ ์ญ์ ํ ์์๋ฅผ ๋ฐํํ๋ค.
}
// Good bye Joker
// Good bye Jenny
// Good bye Nova
// Good bye yagom
๐ repeat-while ๊ตฌ๋ฌธ
repeat-while ๋ฐ๋ณต ๊ตฌ๋ฌธ์ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ do-while ๊ตฌ๋ฌธ๊ณผ ํฌ๊ฒ ๋ค๋ฅด์ง ์๋ค.
repeat ๋ธ๋ก ์ฝ๋๋ฅผ ์ต์ด 1ํ ์คํํ ํ, while ๋ค์์ ์กฐ๊ฑด์ด ์ฑ๋ฆฝํ๋ฉด ๋ธ๋ก ๋ด๋ถ์ ์ฝ๋๋ฅผ ๋ฐ๋ณต ์คํํ๋ค.
var names: [String] = ["A", "B", "C", "D"]
repeat{
print("Good bye \(names.removeFirst())")
} while names.isEmpty == false
// Good bye A
// Good bye B
// Good bye C
// Good bye D
๐ ๊ตฌ๋ฌธ ์ด๋ฆํ
๋ฐ๋ณต๋ฌธ์ ์์ฑํ๋ค๋ณด๋ฉด ์ข ์ข ๋ฐ๋ณต๋ฌธ์ ์ค์ฒฉ์ผ๋ก ์์ฑํ๊ฒ ๋๋ค. ์ด๋ ๋ฐ๋ณต๋ฌธ์ ์ ์ดํ๋ ํค์๋(break, continue)๊ฐ ์ด๋ค ๋ฒ์์ ์ ์ฉ๋์ด์ผ ํ๋์ง ์ ๋งคํ๊ฑฐ๋ ํฐ ๋ฒ์์ ๋ฐ๋ณต๋ฌธ์ ์ข ๋ฃํ๊ณ ์ถ์๋ฐ ์์ ๋ฒ์์ ๋ฐ๋ณต๋ฌธ๋ง ์ข ๋ฃ๋๋ ๋ฑ ์์์น ๋ชปํ ์ค์๋ฅผ ํ ์๋ ์๋ค.
๊ทธ๋ด ๋๋ ๋ฐ๋ณต๋ฌธ ์์ ์ด๋ฆ๊ณผ ํจ๊ป ์ฝ๋ก ์ ๋ถ์ฌ ๊ตฌ๋ฌธ์ ์ด๋ฆ์ ์ง์ ํด์ฃผ๋ ๊ตฌ๋ฌธ ์ด๋ฆํ๋ฅผ ์ฌ์ฉํ๋ฉด ์ข๋ค.
var numbers: [Int] = [3, 2342, 6, 3252]
numbersLoop: for num in numbers{
if num > 5 || num < 1 {
continue numbersLoop
}
var count: Int = 0
printLoop: while true {
print(num)
count+=1
if count == num {
break printLoop
}
}
removeLoop : while true{
if numbers.first != num {
break numbersLoop[
}
numbers.removeFirst()
}
}
// 3
// 3
// 3
// numbers์๋ [2342, 6, 3252]๊ฐ ๋จ์ต๋๋ค.
'๐ iOS > ๊ธฐ์ด๋ฌธ๋ฒ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift ๊ธฐ์ด] ์ต์ ๋ (0) | 2023.01.04 |
---|---|
[Swift ๊ธฐ์ด] ํจ์ (0) | 2023.01.01 |
[Swift ๊ธฐ์ด] ์ฐ์ฐ์ (0) | 2022.12.30 |
[Swift ๊ธฐ์ด] ๋ฐ์ดํฐ ํ์ ๊ณ ๊ธ (0) | 2022.12.29 |
[Swift ๊ธฐ์ด] ๋ฐ์ดํฐ ํ์ ๊ธฐ๋ณธ (0) | 2022.12.29 |