스위프트 공식문서를 참조 하였다.
스위프트에서는 통상적으로 사용하는 연산자를 다 사용가능하며, 범위를 지정하는 범위연산자를 포함해서 사용하게 된다.
기본연산자
- 단항연산자 : -a, !b, !c 와 같은것
- 이항연산자 : a+b 같이 두 대상사이 연산자
- 삼항연산자 : a? b : c
할당연산자
let b = 10 let(x,y) = (1,2)
두번째 예시처럼 구조분해 할당이 가능하다.
스위프트에서는 ==동등비교 연산자를 사용하여 비교하게 된다. 일반적으로 = 는 할당연산자임.
사칙연산자
+, -, *, %, / 가 c나 c++ 과 같이 동일하게 작용한다.
/ 는 나머지 연산자 이다.
단항 음수 연산자
숫자 값은 -가 앞에 붙으면 부호를 변경시킨다.
let three =3 let minusThree = -three // -3 let plusThree = -minusThree // 3
합성 할당 연산자
var a=1 a+=2 // a=3이다.
Nil 병합연산자
nil 병합 연산자는
a??b의 형태를 가지는 연산자 이다.
let defaultColorName = "red" var userDefinedColorName: String? // 이 값은 defaults 값 nil입니다. var colorNameToUse = userDefinedColorName ?? defaultColorName // userDefinedColorNam이 nil이므로 colorNameToUse 값은 defaultColorName인 "red"가 설정 됩니다.
이거는 삼항연산자의 경우에는
조건 ? 참이면 a : 아니면 b 인 경우인데
이것의 경우에는 a ?? b이다.
a= b ?? c 인데
이때 b가 nil이면 a=c 그렇지 않다면 a=b가 되는 연산자 이다.
범위연산자
(a…b)를 통해서 for in loop 에서 사용한다.
for index in 1...5 { print("\(index) times 5 is \(index * 5)") } // 1 times 5 is 5 // 2 times 5 is 10 // 3 times 5 is 15 // 4 times 5 is 20 // 5 times 5 is 25
단방향 범위
for name in names[2...] { print(name) } // Brian // Jack for name in names[...2] { print(name) } // Anna // Alex // Brian
[a..] [..a] 의 범위의 시작이나 끝 부분만 지정해서 사용하는 범위 연산자 이다.
Uploaded by
N2T