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