๋ฐ์ํ
assert
- ํน์ ์กฐ๊ฑด์ ์ฒดํฌํ๊ณ , ์กฐ๊ฑด์ด ์ฑ๋ฆฝ๋์ง ์์ผ๋ฉด ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๊ฒ ํ ์ ์๋ ํจ์
- assert ํจ์๋ ๋๋ฒ๊น ๋ชจ๋์์๋ง ๋์ํ๊ณ ์ฃผ๋ก ๋๋ฒ๊น ์ค ์กฐ๊ฑด์ ๊ฒ์ฆ์ ์ํ์ฌ ์ฌ์ฉ
var value = 0
assert(value == 0)
value = 2
assert(value == 0, "๊ฐ์ด 0์ด ์๋๋๋ค.")
- ์ฒซ ๋ฒ์งธ assert๋ ์ฐธ์ด๊ธฐ ๋๋ฌธ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์์
- ๋ ๋ฒ์งธ assert๋ ๊ฑฐ์ง์ด๊ธฐ ๋๋ฌธ์ ๋ฐํ์์๋ฌ๊ฐ ๋ฐ์
- Assertion failed: ๊ฐ์ด 0์ด ์๋๋๋ค.
guard ๋ฌธ
- ์กฐ๊ฑด์ ๊ฒ์ฌํ์ฌ ๊ทธ๋ค์์ ์ค๋ ์ฝ๋๋ฅผ ์คํํ ์ง ๋ง์ง ๊ฒฐ์ ํ๋ ๊ตฌ๋ฌธ
- guard์ ์ฌ์ฉํ์ฌ ์กฐ๊ฑด์ด ์ฑ๋ฆฝํ์ง ์์ ์ ํน์ ์คํ ๊ตฌ๋ฌธ์ ๋น ๋ฅด๊ฒ ์ข ๋ฃ
- guard์ else ๋ธ๋ก ๋ด๋ถ์๋ ํน์ ์ฝ๋ ๋ธ๋ก์ ์ข ๋ฃํ๋ ์ง์์ด(return, break ๋ฑ)๊ฐ ๊ผญ ์์ด์ผ ํจ
- ํ์ ์บ์คํ , ์ต์ ๋๊ณผ ์์ฃผ ์ฌ์ฉ
func guardTest(_ value: Int){
guard value == 0 else {return}
print("์๋
ํ์ธ์")
}
guardTest(1)
guardTest(0) //์๋
ํ์ธ์
"if let" vs "guard let"
- if let์ ์ต์ ๋ ๋ฐ์ธ๋ฉ ๋ ์์๊ฐ if let ๊ตฌ๋ฌธ ์์์๋ง ์ฌ์ฉ ๊ฐ๋ฅ
- guard let ๊ตฌ๋ฌธ์ ์ต์ ๋ ๋ฐ์ธ๋ฉ ๋ ์์๋ฅผ ํจ์ ๋ด๋ถ์ ์ง์ญ ์์์ฒ๋ผ ์ฌ์ฉ ๊ฐ๋ฅ
- if let ๊ตฌ๋ฌธ์ else๊ฐ ํ์ ์์ง๋ง, guard let ๊ตฌ๋ฌธ์ else ๊ตฌ๋ฌธ์ด ๋ฌด์กฐ๊ฑด ๋ฐ๋ผ์์ผ ํจ
๋ฐ์ํ
'โจ๏ธ Language > swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] ์ต์คํ ์ (Extensions) (0) | 2023.02.06 |
---|---|
[Swift] ํ๋กํ ์ฝ (Protocol) (0) | 2023.02.06 |
[Swift] ํ์ ์บ์คํ (0) | 2023.02.06 |
[Swift] ํด๋์ค(Class)์ ๊ตฌ์กฐ์ฒด(Struct) (0) | 2023.02.06 |
[Swift] ์ต์ ๋ (Optional) (0) | 2023.02.06 |