기본 연산자
연산자는 값을 확인하거나 변경하거나 합치기위한 기호이다. 단순하게 말하자면 평소 수학에서 쓰는 기호들을
사용하는 것과 같다.
Swift는 c 연산자를 지원하고 몇가지 기능을 변경되었다. 예를 들자면 % 기호가 실수타입에서도 사용할 수 있고, a..<b 나 a...b라는 2가지의 범위 연산자를 제공한다.
(가이드 북에서는 a..b 라고 적혀있으나 Swift 에서 코딩해본 결과 에러가 뜨고 a..<b를 해야 인식을 한다.)
할당 연산자
a = b 라는 식이 있다면 b값을 a에 할당해주는 것이다.
튜블처럼 오른쪽 식에 여러 값이 들어온다면 왼쪽에 여러 상수(또는 변수)를 할당할 수 있다.(3번 게시물 참고)
산술 연산자, 나머지 연산자
말그대로 사칙연산이다. +,-,*,/ 이 네가지를 산술 연산자라 하고 모든 숫자타입에서 지원한다.
덧셈 연산자는 문자열 타입에서도 지원하는데
이렇게 두 문자를 붙이는 기능이 있다.
나머지 연산자는 a % b 라는 식이 있다면 b로 a를 나눈 나머지 값을 반환하는 것이다.
앞서 설명했듯이 c에서는 정수형에서만 사용할 수 있었다면 Swift 에서는 실수형도 사용가능하다.
위에 설명한 산술 연산자와 나머지 연산자는 a = a + 3을 a+=3으로 축약할 수 있다.
같은 예로 -= /= *= %= 이 가능하다.
증가 연산자, 감소 연산자
a에 1을 더하려면 a = a + 1을 매번 써야 하는 것은 아니다.
a++ 는 a = a +1을 축약한 것이고
마찬가지로 a-- 는 a = a - 1을 축약한 것이다.
이처럼 ++,--기호는 어떤 상수(또는 변수)에 1을 더하거나 빼는 역활을 하는데 이것을 상수(또는 변수)의 앞이나 뒤에 붙일 수 있다.
만약 앞에 쓰인다면 값을 증가(또는 감소)시키고 값을 반환한다면
뒤에 쓰인다면 값을 반환한 다음에 증가(또는 감소)를 한다.
위의 설명을 유의하면서 아래 소스를 참고한다.
if 문
if문은 조건을 주었을 때 참일 경우를(또는 거짓일 경우) 따져서 특정 행동을 실행하는 것이다.
if (조건식)으로 사용하며 참일 때 실행할 소스의 앞과 뒤에 '{' '}'을 적어주고, if문에 또다른 조건식을 넣고싶을 땐 else if (조건식), 거짓일 경우를 실행하고 싶을땐 else를 적어주면 된다.
▲배고프므로 밥을 먹으면됩니다.
for-in 문
어떤 일을 반복해서 하고자 할때 사용하는 for-in문이다.
사용방법은 for (변수) in (범위)을 적은 다음 반복하고자 하는 부분의 앞과 뒤에 '{' '}' 를 적는다.
범위를 정하는 것은 상수값이나 배열, 사전으로 가능한데 상수값으로 적었을때는 ..< 과 ... 이있다.
위의 예시로 설명하자면 0...5는 0~5까지 이고 0..<5는 0~4까지 반복을 하는 것이다. 상수값이 들어가는 자리에 상수나 변수를 넣어도 무방하다
for-in문은 지정하는 범위를 배열로 해도되는데 위의 예제의 경우 i는 순서대로 10,20,30,40,50이라는 값이 들어오게된다.
다른방법으로 for (변수와 초기값); (조건식); (증가값);이 있는데 아래의 소스를 보면 알겠지만 for-in문과 달리 실수형도 된다.
▲i가 1부터 10까지 0.5씩증가하면서 반복한다.
옵셔널
옵셔널은 그 값이 존재하냐, 존재하지 않느냐를 체크 하는 것이라고 설명하면 Bool타입과 비슷하게 보인다.
때문에 한가지 예를 들자면,
▲(왼)Int -> String 타입으로 전환해서 출력, (오) String -> Int 타입으로 전환해서 출력
Int->String 에서는 Int타입 상수(또는 변수) 안에 있는 숫자가 어떤 수든 간에 전부 문자열로 바꿀 수있다.
하지만 String->Int 에서는 String타입 상수(또는 변수)안에 숫자뿐만아니라 문자(A,B,C,등)도 포함되있을 수 있기 때문에 Swift에서는 Int 타입이 아니라 Int? 이라는 Optional Int 타입으로 되는 것이다.
Optional Int 타입에서는 Int 타입처럼 사용할 수 없고 어떤 값이 존재한다 또는 존재하지 않는다 만 인식한다.
Optional 에서 본래 상수(또는 변수)로 사용하도록 만들기 위해서는 옵셔널 바인딩(Optional Binding)을 하면 된다.
옵셔널 바인딩은 if문이나 while문을 사용하여 옵셔널 안에 값이 있는지 확인하고 상수(또는 변수)로 추출할 수있다.
사용법은 간단하게 if 앞에 그대로 넣어주면 된다.
위에 그림과 같이 상수 b에 넣을 a.toInt 값이 Int값을 가지고 있는지 체크하고 만약 그렇다면 b에 a.toInt 값을 기억함과 동시에 b값을 출력하고, Int값이 아니라면 상수 b에는 값이 기억되지 않고 else문이 실행된다.
'프로그래밍 > Swift' 카테고리의 다른 글
타입 세이프와 타입 추정 그리고 타입 전환, 튜블 (0) | 2016.07.09 |
---|---|
(Swift) 변수와 상수, 출력 (0) | 2016.07.09 |
프로젝트 생성 (0) | 2016.07.09 |
Apple에서 선보인 Swift (0) | 2016.07.09 |