티스토리 뷰
* Swift 조건문
어느 언어에서나 다름없이 사용하는 조건문은 if 와 switch 구문이다.
if 구문 같은 경우에는 사용방법도 크게 다르지 않다.
if A > B{ } , if ( A > B ){ }
var test : Bool = true;
if( test == false) {}
이 포스트에서 다룰건, 바로 switch 구문이다.
switch 구문 또한 크게 다를건 없지만, 3가지 특이점이 있다.
Switch 구문 예제 |
가장 먼저 눈에 띄는게 바로 default : 를 안쓰면 안된다는것.
Playground execution failed: MyPlayground.playground:12:1: error: switch must be exhaustive, consider adding a default clause
스위프트는 모든면에 있어서 안정성을 고려했다는걸 느낄수 있다.
기본에 충실해야 한다는것이다. ( 수많은 예외사항들, 에러가 발생할 사항들을 미리 방지하고자 하는 애플의 깊은 뜻이 담겨있는듯 하다. )
두번째로, 여러 조건들을 명시할때 다른 언어에서는
case "A" :
case "B" :
~~
break;
이렇게 사용해왔더라면 스위프트는 콤마(,) 로 구분해서 사용한다.
게다가 break 구문 또한 없다. ( 정말 편하다 굳굳! )
case "A", "B" :
마지막으로 case let x where x.hasSuffix("pepper") 과 같이
case 구문에 sql Where 절과 같이 조건을 줄수 있는것.
쓸수 있는조건으로 자동완성에서 Bool 을 찾아봤더니 유용하게 쓸만한 기능은 다음과 같았다.
hasPrefix("string") : "string" 으로 시작하는 단어가 있다면 TRUE
hasSuffix("string") : "string" 으로 끝나는 단어가 있다면 TRUE
containsString("string") : "string" 을 포함하는 단어가 있다면 TRUE
이정도면 뭐...
몇장 공부 안했는데 넘치는 매력에 점점 푹 빠져들고있다
---- 추가
let somePoint = (1, 1)
switch somePoint {
case (0, 0):
print("(0, 0) is at the origin")
case (_, 0):
print("(\(somePoint.0), 0) is on the x-axis")
case (0, _):
print("(0, \(somePoint.1)) is on the y-axis")
case (-2...2, -2...2):
print("(\(somePoint.0), \(somePoint.1)) is inside the box")
default:
print("(\(somePoint.0), \(somePoint.1)) is outside of the box")
}
이런 형태로도 범위지정도 가능하다.
앞서 배운 내용들 모두 응용이 가능할것으로 보인다.
다음에서 발췌: Apple Inc. ‘The Swift Programming Language (Swift 2.2).’ iBooks. https://itun.es/kr/jEUH0.l
'Develope > Swift' 카테고리의 다른 글
Swift 기초 - API 버전 확인방법 (0) | 2016.06.12 |
---|---|
Swift 기초 - 비교 연산자 ( isEqualToString ? ) (0) | 2016.06.12 |
Swift 기초 - Optional 변수 (?) (0) | 2016.06.11 |
Swift 기초 - 반복문 ( for, for-in, while, repeat-while ) (0) | 2016.06.11 |
Swift 쉬어가기 - PlayGround 를 써보자! (0) | 2016.06.11 |
- Total
- Today
- Yesterday
- 공기청정기
- 딥러닝
- 캠핑
- 파이썬
- Android
- 사물인터넷
- diy
- object-C
- xcode
- 우분투
- ios
- ubuntu
- 라즈베리파이
- 머신러닝
- 리눅스
- php
- swift
- IOT
- 미세먼지
- mysql
- Python
- 아두이노
- OpenCV
- 엘라스틱서치
- 서버
- 강좌
- Deeplearning
- 인공지능
- 아이폰
- 스위프트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |