스위프트는 연산자(operator)를 통해 값(value)를 확인하고 바꿀 수 있다. 이중 산술 연산자를 통해 각 데이터 타입의 표현 범위를 벗어난 오버플로우를 확인할 수 있다. 그리고 범위(range)를 간단하게 나타낼 수 있는 a..<b
와 a...b
를 통해 특정 값 범위를 표현할 수 있다.
unary의 경우 operand 앞에 붙이는 prefix, 뒤에 붙이는 postfix가 있다.
a=b
를 통해 b
의 값을 a
에 넘겨준다.
let (x, y) = (1, 2)
모듈러 연산자 %
를 통해 나머지를 반환할 수 있다.
a = (b * multiplier) + remainder
에서 remainder
이다. 가령-9%4=(4*-2)+-1
이다. 대입 연산자에 사칙연산 +-*/
를 함께 넣어 간략화했다.
두 개의 피연산자를 비교할 수 있는 연산자로 ==
, !=
, >
, >=
, <
, <=
가 존재한다. 비교 연산을 통해 반환한 Bool 값으로 조건문에 사용할 수 있다.
("apple", 1) < ("blue", 2) // true returned
("apple", false) < ("apple", true) // cannot compare
튜플을 비교 연산할 수 있는 게 상당히 독특하다.
question ? answer1 : aswer2
형태의 특수한 형태로 C와 동일하다. If 문을 통해 특정 값을 할당하는 코드를 짧게 줄일 수 있다.
var is_digit = true
var digits = "12345"
let default_int = 10000
var digits_int = is_digit ? Int(digits) : default_int