Blog

Swift – Basic Operators 정리

August 25, 2014

Swift – Basic Operators 정리

Swift는 대부분의 표준 C 연산자를 지원하고 흔하게 발생하는 코딩 에러를 제거하는 몇가지 기능을 향상시킴.

할당 연산자(=)는 항등 연산자(==)를 사용할 때 실수로 사용하는 것을 방지하도록, 값을 반환하지 않음.

산술 연산자(+, -, *, /, % 등)은 오버플로우를 감지하고 예상치 못한 결과가 발생하는 것을 방지.

C와는 다르게 나머지 연산자(%)를 부동 소수점 수에 수행 가능.

C에는 없는 2개의 범위 연산자(a..<b와 a…b)는 값의 범위를 표현.

용어(Terminology)

연산자에는 단항, 아헝, 삼항이 있음.

  • 단항 연산자는 단일 대상에 동작(ex. -a), 단항 전위 연산자는 대상 앞에 나타내고(ex. !b), 단항 후위 연산자는 대상 뒤에 나타남(ex. i++).
  • 이항 연산자는 두 개의 대상에 동작하며(ex. 2 + 3), 두 개의 대상 사이에 나타나기 때문에 중위 연산자
  • 삼항 연산자는 C와 비슷하게 삼항 조건 연산자만을 가짐(ex. a ? b : c)

할당 연산자(Assignment Operator)

할당 연산자는 값을 초기화 하거나 변경함.(ex. a = b)

let b = 10
var a = 5
a = b
// a is now equal to 10

let (x, y) = (1, 2)
// x is equal to 1, and y is equal to 2

C와 Objective-C의 할당 연산자와는 다르게 할당 연산자는 값을 반환하지 않음.

다음은 유효하지 않은 코드임. 항등 연산자(==)가 실수로 대입 연산자(=)로 사용하는 것을 방지하기 위함.

if x = y {
    // this is not valid, because x = y does not return a value
}

산술 연산자(Arithmetic Operators)

Swift는 4가지 표준 산술 연산자를 모든 숫자 타입에 지원.

  • 덧셈(+)
  • 뺄셈(-)
  • 곱셈(*)
  • 나눗셈(/)

C와 Objective-C의 산술 연산자와는 다르게 Swift 산술 연산자는 오버플로우를 지원하지 않음. Swift 오버플로우 연산자(a &+ b)를 사용하여 오버플로우 행동을 선택할 수 있음.

덧셈 연산자는 String 연결도 지원.

"hello, " + "world"	// equals "hello, world"

두 개의 Chraracter 값이거나 각각의 Chraracter 값과 String 값을 더하여 새로운 String 값을 만들 수 있음.

let dog: Character = "

Array