์กฐ๊ฑด๋ฌธ switch-case, fallthrough
23 Oct 2017 | swift iosswitch-case
switch <๋น๊ต๋์> {
case <๋น๊ตํจํด1> :
<๋น๊ต ํจํด1์ด ์ผ์นํ์๋ ์คํํ ๊ตฌ๋ฌธ>
case <๋น๊ตํจํด2>, <๋น๊ตํจํด3> : //(ex. case 2, 3: )
<๋น๊ต ํจํด 2๊ฐ ์ผ์นํ์๋ ์คํํ ๊ตฌ๋ฌธ>
default :
<์ด๋ ๋น๊ตํจํด๊ณผ๋ ์ผ์นํ์ง ์์์๋ ์คํํ ๊ตฌ๋ฌธ>
}
- ์ผ์นํ๋ ๋น๊ตํจํด์ด ์์๊ฒฝ์ฐ ํด๋น ๋ธ๋ก์ ์คํํ๊ณ ์ ์ฒด ๋ถ๊ธฐ๋ฌธ ์ข ๋ฃ
- ์ผ์นํ๋ ๋น๊ตํจํด์ด ๋ ์๋๋ผ๋ ์ผ์นํ๋ ๊ฒ ํ๋๋ง ์คํํ๊ณ ์ข ๋ฃํจ
fallthrough
let sampleChar: Character = "a"
switch sampleChar {
case "a" :
fallthrough
case "A" :
print("๊ธ์๋ A์
๋๋ค.")
default :
print("์ผ์นํ๋ ๊ธ์๊ฐ ์์ต๋๋ค.")
}
- case๋ฌธ์ด ๋น์ด์์ผ๋ฉด ์๋จ
- ๋ช ์์ ์ผ๋ก fallthrough๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ฉด ํด๋น case๋ฌธ(case1)์ ๋น๊ตํจํด์ด ์ผ์นํ ๊ฒฝ์ฐ ๊ทธ ๋ค์ case(case2)๋ฌธ์ผ๋ก ํ๋ฆ์ ์ ๋ฌ
- ์คํํ๋ฆ์ ์ ๋ฌ๋ฐ์ case2๊ตฌ๋ฌธ์ ๋น๊ตํจํด์ ์ผ์น์ฌ๋ถ์ ์๊ด์์ด ์์ฑ๋ ๊ตฌ๋ฌธ์ ์คํํํ switch๋ฌธ์ ์ข ๋ฃ
- default : case๋ฌธ์์ ์ผ์นํ๋ ์ผ์ด์ค๋ฅผ ์ฐพ์ง ๋ชปํ์ ๊ฒฝ์ฐ๋ฅผ ๋๋นํ์ฌ default๊ฐ ๋ฐ๋์ ํ์ํ๊ณ , ๋ชจ๋ case๋ฌธ์ ๋ชจ๋ ํจํด์ ๋งค์นญ์ํฌ ์ ์๋ ๊ฒฝ์ฐ์ ํํด default๋ฌธ์ ์๋ตํ ์ ์๋ค.
var value = (2,3)
switch value {
case let (x,3) :
print("ํํ์ ๋ ๋ฒ์งธ ๊ฐ์ด 3์ผ๋ ์ฒซ๋ฒ์งธ ๊ฐ์ \(x)์
๋๋ค")
case let (x,3) :
print(abc)
case let (x,3) :
print(abc)
}
- ์ถ๋ ฅํจ์ ๋ด์์ ๋ณ์๋ฅผ ๋ฐ์์ ์ถ๋ ฅํ ๋ \ (๋ณ์์ด๋ฆ)
###
Comments