์กฐ๊ฑด๋ฌธ
if ๋ฌธ
// if ๋ค "์กฐ๊ฑด"์ Bool ํ์
์ฆ true ํน์ false ์ด์ด์ผ ํ๋ค.
if <#์กฐ๊ฑด#> {
// ๊ตฌํ๋ถ ์ฝ๋
}
var temperature = 17
if temperature <= 13 {
print("์์ํ ๋ ์จ๊ฐ ์ง์๋๊ฒ ์ต๋๋ค.")
} else if temperature >= 22 {
print("ํด๊ฐ ๋ ์ค๋ฅด๋ ๋ฎ๋ถํฐ๋ ๋์ ์์๋ฉ๋๋ค.")
} else {
print("๋ฐค๋ฎ์ผ๋ก ์ ์ ํ ๋ ์จ๊ฐ ์์๋ฉ๋๋ค.")
}
// ์ถ๋ ฅ๊ฐ: ๋ฐค๋ฎ์ผ๋ก ์ ์ ํ ๋ ์จ๊ฐ ์์๋ฉ๋๋ค.
if true {
print("ํญ์ ์คํ๋ฉ๋๋ค")
}
// ์ถ๋ ฅ๊ฐ: ํญ์ ์คํ๋ฉ๋๋ค
if false {
print("ํญ์ ์คํ๋ฉ๋๋ค")
}
// ์ถ๋ ฅ๊ฐ: (์์) - if ๋ค ์กฐ๊ฑด๋ฌธ์ด false์ด๋ฏ๋ก ์ค๊ดํธ ๋ด๋ถ ์ฝ๋๊ฐ ์คํ๋์ง ์์
switch ๋ฌธ
- switch ๋ฌธ์ ๊ฐ๋ฅํ ์ฌ๋ฌ ๊ฐ์ ์ผ์นํ๋ ์ผ์ด์ค์ ๊ฐ์ ๋น๊ตํ๋ค.
- ๊ทธ๋ฐ ๋ค์ ์ผ์นํ๋ ์ฒซ ๋ฒ์งธ ์ผ์ด์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํ๋ถ ์ฝ๋ ๋ธ๋ก์ ์คํํ๋ค.
- switch ๋ฌธ์ ์ฌ๋ฌ ์ ์ฌ์ ์ผ์ด์ค์ ๋์ํ๊ธฐ ์ํด if ๋ฌธ์ ๋์ ์ฌ์ฉํ ์ ์๋ค.
- ์ด๊ฑฐํ(enum)๊ณผ ํจ๊ป ์์ฃผ ์ฌ์ฉ๋๋ค.
- ๋ชจ๋ ์ผ์ด์ค๊ฐ ์ ์ฉ๋์ง ์๋ ๊ฒฝ์ฐ default ์ ๊ตฌํ๋ ์ฝ๋๊ฐ ์คํ๋๋ฉฐ, default๋ ํญ์ ๋ง์ง๋ง์ ํ์๋์ด์ผ ํ๋ค.
- ํน์ ์ผ์ด์ค์ ์คํ ๊ตฌ๋ฌธ์ด ์์ ๊ฒฝ์ฐ break ํค์๋๋ฅผ ๋ฐ๋์ ์ฌ์ฉํด์ผ ํ๋ค.
- ํน์ ์ผ์ด์ค์ ํด๋น๋์ด ์คํ ๊ตฌ๋ฌธ์ด ์คํ๋ ์ดํ์ ๋ค์ ์ผ์ด์ค ๋ธ๋ญ์ ์คํํ๋ ค๋ฉด fallthrough ํค์๋๋ฅผ ์ฌ์ฉํ๋ค.
if <#์กฐ๊ฑด#> {
// ๊ตฌํ๋ถ ์ฝ๋
}
switch <#์กฐ๊ฑด#> {
case <#๊ฐ 1#>:
// ๊ตฌํ๋ถ ์ฝ๋
case <#๊ฐ 2#>,
<#๊ฐ 3#>:
// ๊ตฌํ๋ถ ์ฝ๋
default:
// ๋ชจ๋ ์ผ์ด์ค๊ฐ ์ ์ฉ๋์ง ์๋ ๊ฒฝ์ฐ
// ๊ตฌํ๋ถ ์ฝ๋
}
let cookieCount = 62
let message: String
switch cookieCount {
case 0:
message = "๐ช ์์ ๐
โ๏ธ"
case 1..<5:
message = "๐ช ์์ฃผ ์กฐ๊ธ ์์"
case 5..<12:
message = "๐ช ์กฐ๊ธ ์์"
case 12..<100:
message = "๐ช ๊ฝค ์์ ๐ช"
case 100..<1000:
message = "๐ช๐ช ๋ง์ ๐ช๐ช"
default:
message = "๐ช๐ช๐ช์์ฒญ ๋ง์๐ช๐ช๐ช"
}
print(message)
// ์ถ๋ ฅ๊ฐ: "๐ช ๊ฝค ์์ ๐ช"
let species = "์์ธ"
switch species {
case "๋งํฐ์ฆ" :
print("๋งํฐ์ฆ์
๋๋ค")
case "์์ธ":
break // ์คํ ๊ตฌ๋ฌธ์ด ์์๋๋ ๋ฐ๋์ break๋ฅผ ์จ์ฃผ์ด์ผ ํจ
default:
print("๊ฐ์์ง์
๋๋ค")
}
var number = 5
switch number {
case ..<5:
print("under 5")
fallthrough
case 5:
print("5")
fallthrough // ํด๋น ์ผ์ด์ค์ ๊ตฌ๋ฌธ์ด ์คํ๋ ์ดํ์๋ ๋ฌด์กฐ๊ฑด ๋ค์๋ธ๋ญ์ ์คํํจ
default:
print("default")
}
// ์ถ๋ ฅ ๊ฒฐ๊ณผ
// 5
// default
// default๋ฅผ ์ฌ์ฉํ์ง ์๋ ์์
enum Day {
case monday, tuesday, wednesday, thursday, friday, saturday, sunday
}
func activities(for day: Day) {
switch day {
case .monday:
print("์์์ผ: ํ์ฌ ํ์")
case .tuesday:
print("ํ์์ผ: ์ด๋ ๊ฐ๊ธฐ")
case .wednesday:
print("์์์ผ: ์ฑ
์ฝ๊ธฐ")
case .thursday:
print("๋ชฉ์์ผ: ์น๊ตฌ์ ๋ง๋๊ธฐ")
case .friday:
print("๊ธ์์ผ: ์ํ ๋ณด๊ธฐ")
case .saturday:
print("ํ ์์ผ: ์ผํํ๊ธฐ")
case .sunday:
print("์ผ์์ผ: ๊ฐ์กฑ๊ณผ ์๊ฐ ๋ณด๋ด๊ธฐ")
}
}
activities(for: .monday)
activities(for: .friday)
๋ฐ๋ณต๋ฌธ
for ๋ฌธ
- for๋ฌธ์ ์ํํ ์ ์๋ ํ์ (๋ฐฐ์ด, ๋์ ๋๋ฆฌ ๋ฑ)์ ์ํํ๊ฑฐ๋ ํน์ ํ์๋งํผ ๋ก์ง์ ๋ฐ๋ณตํ ๋ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
for ๊ฐ value์ ๋ณ์ ์ด๋ฆ in ์ํํ ์ ์๋ ํ์
{
// ๋ด๋ถ ๋ก์ง
}
let alphabets: [String] = ["a", "b", "c", "d"]
for character in alphabet {
print(character)
}
// ์ถ๋ ฅ๊ฐ:
// a
// b
// c
// d
let students = ["Tom": 2, "Harry": 4, "Sarah": 1]
for (name, grade) in students {
print("\(name) ์ \(grade) ํ๋
์ด์ผ")
}
// ์ถ๋ ฅ๊ฐ:
// Tom ์ 2 ํ๋
์ด์ผ
// Harry ์ 4 ํ๋
์ด์ผ
// Sarah ์ 1 ํ๋
์ด์ผ
while ๋ฌธ
- while๋ฌธ์ ํน์ ์กฐ๊ฑด์ด ๋ง์กฑํ๋ ๋์ ๋ด๋ถ๋ก์ง์ ๊ณ์ํด์ ์คํํ๋ ๋ฐ๋ณต๋ฌธ์ด๋ค.
- ์ข ๊ฒฐ ์กฐ๊ฑด์ ์ ํด์ฃผ์ง ์์ผ๋ฉด ๋ฌดํ๋ฃจํ๊ฐ ์๊ธธ ์ํ์ฑ์ด ์๋ค.
- while๋ฌธ์ ๋ฐ๋ณต๋ฌธ์ ๊ฐ ํจ์ค๊ฐ ์์ํ ๋ ์กฐ๊ฑด์ ํ๊ฐํ๋ค.
// while ๋ค์ "์กฐ๊ฑด"์ Bool ํ์
, ์ฆ true ํน์ false์ด๊ณ , true์ผ๋ ์ค๊ดํธ ๋ด๋ถ ์ฝ๋ ์คํ
while <#์กฐ๊ฑด#> {
// ๊ตฌํ ์ฝ๋
}
let lastName : [String] = ["์ก", "๊น", "๋ฐ", "์ " ]
var index : Int = 0
while index < 4 {
print("์์ง \(lastName[index]) ์จ๋ค \(index)๋ฒ์งธ ๊ฒฐํผ์")
index += 1
}
// ์ถ๋ ฅ๊ฐ:
// ์์ง ์ก ์จ๋ค 0๋ฒ์งธ ๊ฒฐํผ์
// ์์ง ๊น ์จ๋ค 1๋ฒ์งธ ๊ฒฐํผ์
// ์์ง ๋ฐ ์จ๋ค 2๋ฒ์งธ ๊ฒฐํผ์
// ์์ง ์ ์จ๋ค 3๋ฒ์งธ ๊ฒฐํผ์
while true {
print("Hello") // Hello ๊ฐ ๊ณ์ ์ถ๋ ฅ๋จ
// ๋์ด์ค ์ ์๋ ์ฝ๋ ํ์
}
'๐ Today I Learned > Swift ๋ฌธ๋ฒ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] ์คํ, ํ (2) | 2023.12.06 |
---|---|
[Swift] ์ต์ ๋ (0) | 2023.12.06 |
[Swift] ์ฐ์ฐ์ (0) | 2023.12.06 |
[Swift] ๋ฐ์ดํฐ ํ์ (0) | 2023.12.06 |
[Swift] ํ๋กํผํฐ์ ์ถ๋ ฅ, ํจ์ (0) | 2023.12.04 |