728x90
반응형

저번 포스팅에서 다뤘던 스위프트의 속성을 사용해서 다양한 연산자(Operator)를 처리하는 방법에 대해 설명하고자 합니다.


연산자를 사용하면 값을 합치고, 변경하고, 검사 할 수 있습니다.

예를 들면 1 + 2처럼 +라는 연산자를 사용할 수 있고 &&를 사용해 Bool 값을 연산할 수 있습니다.


연산자는 단항, 이항, 삼항으로 분류 할 수 있습니다.


단항은 single target(-a), prefix operator(!b), postfix operator(c!)와 같은 것이 있습니다.

이항은 two targets(2 + 3)와 같은 것이 있습니다.

삼항은 three targets(a ? b : c)와 같은 것이 있습니다.


연산자에 영향을 주는 Value를 operand라고 부릅니다.

1 + 2에서 +는 binary operator이며 1과 2는 operand라고 말할 수 있습니다.



Assignment Operator

할당 연산자는 값을 초기화하거나 갱신하는 역할을 합니다.


let b = 10

var a = 5

a = b

// a is now equal to 10



Arithmetic Operators

스위프트는 4개의 Arithmetic Operator를 제공합니다.

- Addition +

- Subtraction -

- Multiplication *

- Division /


1 + 2       // equals 3

5 - 3       // equals 2

2 * 3       // equals 6

10.0 / 2.5  // equals 4.0


그리고 Addition Operator는 String를 합칠때 사용 할 수 있습니다.


var helloworld = "hello, " + "world"  // equals "hello, world"



Remainder Operator

나머지 연산자는 %를 사용하고 left value를 right value로 나누고 남은 나머지를 반환합니다.


9 % 4       // equals 1



Compound Assignment Operator

합성 할당 연산자는 Assignment와 이항연산자를 합친 연산자입니다.


var a = 1

a += 2

// a is now equal to 3


a += 2는 실제로 a = a + 2로 볼 수 있습니다.



Comparison Operators

비교 연산자는 6개가 있습니다.

- Equal to ==

- Not equal to !=

- Greater than >

- Less than <

- Greater than or equal to >=

- Less than or equal to <=


1 == 1   // true because 1 is equal to 1

2 != 1   // true because 2 is not equal to 1

2 > 1    // true because 2 is greater than 1

1 < 2    // true because 1 is less than 2

1 >= 1   // true because 1 is greater than or equal to 1

2 <= 1   // false because 2 is not less than or equal to 1



Ternary Conditional Operator

삼항 연산자는 if..else와 비슷합니다.

form은 question ? answer1 : answer2 의 형태입니다.

question이 true이면 answer1을, false이면 answer2를 반환합니다.


let contentHeight = 40

let hasHeader = true

let rowHeight = contentHeight + (hasHeader ? 50 : 20)

// rowHeight is equal to 90



Nil-Coalescing Operator

nil 결합 연산자는 Optional value가 값을 가지고 있는지 확인해서 값을 리턴하는 연산자 입니다.


a ?? b

a가 nil이 아니면 a를, nil이면 b를 반환합니다.

이 코드는 아래와 같이 나타낼 수 있습니다.


a != nil ? a! : b



Range Operators

범위 연산자는 3가지 종류가 있습니다.

- Closed Range Operator a...b

- Half-Open Range Operator a..<b

- One-Sided Ranges Operator a... / ...b



Logical Operators

논리 연산자는 operand가 Boolean인 것들의 Operator입니다.

- Logical Not !a

- Logical And a && b

- Logical OR a || b



728x90
반응형

'Language > Swift' 카테고리의 다른 글

(Swift) 스위프트 속성(Property)기초  (0) 2017.10.08
(Swift) 스위프트 맛보기  (0) 2017.10.07

+ Recent posts