๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.
์ฐ์ฐ์
- ์ฐ์ ์ฐ์ฐ์
- ๋น๊ต ์ฐ์ฐ์
- ์ผํญ ์กฐ๊ฑด ์ฐ์ฐ์
- ๋ฒ์ ์ฐ์ฐ์
- nil ๋ณํฉ ์ฐ์ฐ์
- ๋ถํธ ๋ณ๊ฒฝ ์ฐ์ฐ์
๋ค์ด๊ฐ๊ธฐ ์ ,
์ค์ํํธ๋ ๋์ด์ฐ๊ธฐ๋ ์ค์ํ ๋ฌธ๋ฒ ์ผ๋ก, ์ฐ์ฐ์๋ฅผ ๊ณต๋ถํ ๋ ๊ณต๋ฐฑ์ ์์น๋ฅผ ํ์ธํ๋ฉฐ ๊ณต๋ถํด์ผ ํ๋ค.
์ฐ์ ์ฐ์ฐ์
์ค์ํํธ๋ ๋ฐ์ดํฐ ํ์ ์ ๊ต์ฅํ ์๊ฒฉํ๋ฏ๋ก ์๋ก ๋ค๋ฅธ ์๋ฃํ๋ผ๋ฆฌ์ ์ฐ์ฐ์ ์๊ฒฉํ ์ ํํ๋ค.
์ฐ์ฐ์ | ์์ |
+ | 5 + 3 = 8 |
- | 5 - 3 = 2 |
* | 5 * 3 = 15 |
/ | ๋ชซ์ ๋ฐํํ๋ค. 5 / 3 = 1 |
% | ๋๋จธ์ง๋ฅผ ๋ฐํํ๋ค. ์ ์์ ๋ค๋ฅด๊ฒ ๋ถ๋์์์ ์ '%' ์ฐ์ฐ์๊ฐ ์๋๋ผ 'truncatingRemainder' ๋ฅผ ์ฌ์ฉํ๋ค. 5 % 3 = 2 |
let number: Double = 5.0
var result: Double = number.truncatingRemainder(dividingBy: 1.5) //๋ถ๋์์์ ์ ๋๋จธ์ง๋ฅผ ๋ฐํ
print(result)
๋น๊ต ์ฐ์ฐ์
๊ฐ ๋น๊ต ํ Bool ๊ฐ์ ๋ฐํํ๋ค.
์ฐ์ฐ์ | ์ค๋ช |
A == B | A์ B๊ฐ ๊ฐ์๊ฐ? |
A !=B | A์ B๊ฐ ๊ฐ์ง ์์๊ฐ? |
A >= B | A๊ฐ B๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์๊ฐ? |
A <= B | A๊ฐ B๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์๊ฐ? |
A > B | A๊ฐ B๋ณด๋ค ํฐ๊ฐ? |
A < B | A๊ฐ B๋ณด๋ค ์์๊ฐ? |
A === B | A์ B๊ฐ ์ฐธ์กฐ(๋ ํผ๋ฐ์ค) ํ์ ์ผ ๋, A์ B๊ฐ ๊ฐ์ ์ธ์คํด์ค๋ฅผ ๊ฐ๋ฆฌํค๋๊ฐ? (์ฐธ์กฐ๊ฐ ๊ฐ์๊ฐ) |
A !== B | A์ B๊ฐ ์ฐธ์กฐ(๋ ํผ๋ฐ์ค) ํ์ ์ผ ๋, A์ B๊ฐ ์๋ก ๋ค๋ฅธ ์ธ์คํด์ค๋ฅผ ๊ฐ๋ฆฌํค๋๊ฐ? (์ฐธ์กฐ๊ฐ ๊ฐ์ง ์์๊ฐ) |
A ~= B | A์ B์ ํจํด์ด ๋งค์น๋๋๊ฐ? |
๊ฐ ๋น๊ต
if๋ฌธ ๋๋ ๋ฐ๋ณต๋ฌธ์ ์กฐ๊ฑด์์ ์ฌ์ฉํ์ฌ๋ ๋๊ณ , ํ ์ค๋ก ๊ฐ์ ๋น๊ตํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ์์๋ผ ์๋ ์๋ค.
let result: Bool = "๋ฐ๋ค" == "ํธ์" //false
์ฐธ์กฐ ํ์ ๋น๊ต
let referenceA: ํด๋์คA = ํด๋์คA()
let referenceB: ํด๋์คA = ํด๋์คA()
let referenceC: ํด๋์คA = referenceA
let isSameReferenceAB: Bool = referenceA === referenceB //false
let isSameReferenceAC: Bool = referenceA === referenceC //true
์ผํญ ์กฐ๊ฑด ์ฐ์ฐ์
์กฐ๊ฑด? A : B
→ ์กฐ๊ฑด์ด ์ง์ค์ด๋ฉด A๋ฅผ, ๊ฑฐ์ง์ด๋ฉด B๋ฅผ ๋ฐํํ๋ค.
ํผ์ฐ์ฐ์๊ฐ ์ธ ๊ฐ์ธ ์ผํญ ์กฐ๊ฑด ์ฐ์ฐ์
์กฐ๊ฑด ์์ ๋ ๋ค๋ฅธ ์ผํญ ์ฐ์ฐ์๋ฅผ ๋ฃ์ ์๋ ์๋ค.
let num1: Int = 1
let num2: Int = 10
var minValue: Int = 0
minValue = num1 > num2 ? num2 : num1
//minValue์ ๊ฐ์ num1
๋ฒ์ ์ฐ์ฐ์
ํ์ ๋ฒ์ ์ฐ์ฐ์ | A...B | A๋ถํฐ B๊น์ง์ ์ ๋ฒ์ ์) 1..3๋ 1, 2, 3 ๋ฅผ ์๋ฏธํ๋ค. |
for i in 1...3 {
print(i)
}
//1
//2
//3
๋ฐํ์ ๋ฒ์ ์ฐ์ฐ์ | A..<B | A๋ถํฐ B ๋ฏธ๋ง ๊น์ง์ ์ ๋ฒ์ ์) 1...<3 ๋ 1, 2 ๋ฅผ ์๋ฏธํ๋ค. |
for i in 1..<3 {
print(i)
}
//1
//2
๋จ๋ฐํฅ ๋ฒ์ ์ฐ์ฐ์ | A... | A ์ด์์ ์ ์) ๋ฐฐ์ด์ ๊ฒฝ์ฐ, ์ธ๋ฑ์ค A๋ถํฐ ๋ง์ง๋ง ์ธ๋ฑ์ค๊น์ง๋ก ํ์ฉ ๊ฐ๋ฅ |
...A | A ์ดํ์ ์ ์) ๋ฐฐ์ด์ ๊ฒฝ์ฐ, ์ธ๋ฑ์ค 0๋ถํฐ A๊น์ง๋ก ํ์ฉ ๊ฐ๋ฅ |
|
..<A | A ๋ฏธ๋ง์ ์ ์) ๋ฐฐ์ด์ ๊ฒฝ์ฐ, ์ธ๋ฑ์ค 0๋ถํฐ A ๋ฏธ๋ง๊น์ง๋ก ํ์ฉ ๊ฐ๋ฅ |
A...
let array: Array<String> = ["A", "B", "C"]
for value in arry[1...] { // ์ธ๋ฑ์ค 1 ~ 2
print(value)
}
//B
//C
...A
let array: Array<String> = ["A", "B", "C"]
for value in arry[...1] { // ์ธ๋ฑ์ค 0 ~ 1
print(value)
}
//A
//B
..<A
let array: Array<String> = ["A", "B", "C"]
for value in arry[..<1] { // ์ธ๋ฑ์ค 0
print(value)
}
//A
nil ๋ณํฉ ์ฐ์ฐ์
A ?? B
→ A๊ฐ nil์ด ์๋๋ฉด A๋ฅผ, A๊ฐ nil์ด๋ฉด B๋ฅผ ๋ฐํ
nil ๋ณํฉ ์ฐ์ฐ์๋ ์ต์ ๋์ ์ฌ์ฉํ ๋ ์์ฃผ ์ ์ฉํ ์ฐ์ฐ์์ด๋ค. ์ผํญ ์ฐ์ฐ์๋ฅผ ์ด์ฉํ์ฌ nil ์ฌ๋ถ์ ๋ฐ๋ฅธ ์ฒ๋ฆฌ๋ฅผ ํ ์๋ ์์ง๋ง, nil ๋ณํฉ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ํจ์ฌ ์์ ํ๊ณ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ด๋ค.
๋ถํธ ๋ณ๊ฒฝ ์ฐ์ฐ์
-A
→ A ์์ ๋ถํธ๋ฅผ ๋ณ๊ฒฝํ๋ค.
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=badwin&logNo=221177227872
๋ฒ์ ์ฐ์ฐ์
์ผ๊ณฐ - ์ค์ํํธ ํ๋ก๊ทธ๋๋ฐ 5ํ (SWIFT5)
'Swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ Swift ] ํ๋ฆ ์ ์ด(2) - ๋ฐ๋ณต๋ฌธ ( for-in ๊ตฌ๋ฌธ, while ๊ตฌ๋ฌธ ) (0) | 2021.08.27 |
---|---|
[ Swift ] ํ๋ฆ ์ ์ด(1) - ์กฐ๊ฑด๋ฌธ ( if ๊ตฌ๋ฌธ, switch ๊ตฌ๋ฌธ ) (0) | 2021.08.18 |
[ SWIFT ] ๋ฐ์ดํฐ ํ์ ๊ณ ๊ธ(3) - ์ด๊ฑฐํ (0) | 2021.07.30 |
[ SWIFT ] ๋ฐ์ดํฐ ํ์ ๊ณ ๊ธ (2) - ์ปฌ๋ ์ ํ์ <๋ฐฐ์ด, ๋์ ๋๋ฆฌ, ์ธํธ> (0) | 2021.07.20 |
[ SWIFT ] ๋ฐ์ดํฐ ํ์ ๊ณ ๊ธ (1) (0) | 2021.07.19 |