Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 앱개발
- 계층형 구조 커널
- Components
- 폰노이만구조
- API
- kernel
- bus
- 운영체제
- 하버드구조
- 폴링
- 마이크로 커널
- 컴퓨터구조
- 멀티프로세스
- Swift
- 멀티스레드
- 스풀
- 버퍼
- closure
- 프로세스
- 부트캠프
- IODevice
- 폰노이만
- sdk
- 커널
- 캐시
- 스레드
- 단일형 구조 커널
- 코딩
- 야곰아카데미
- 인터럽트
Archives
- Today
- Total
생각, 고민, 문제해결의 기록
[iOS/Swift] 연산자(Operators) 본문
공부한 내용이 수시로 업데이트 됩니다.
피드백은 언제나 환영입니다.
연산자의 종류
Swift에서는 통상적으로 이용하는 산술연산자와 &&, || 같은 논리 연산자,
그리고 C에서 지원하지 않는 a..<b 나 a…b같이 값의 범위를 지정할 수 있는 범위 연산자를 지원한다.
연산자에는 단항(unary), 이항(binary) 그리고 삼항(ternary) 연산자가 있다.
단항연산자 | -a, !b, c!와 같이 하나의 대상 앞뒤에 바로 붙여 사용하는 연산자이다. |
이항연산자 | 2 + 3 같이 두 대상 사이에 위치하는 연산자 |
삼항연산자 | a ? b : c 형태로 Swift에 삼항 연산자는 이 연산자 단 하나만 존재한다. |
할당 연산자 (Assignment Operator)
할당 연산자는 값을 초기화 시키거나 변경할 때 사용한다. 아래와 같이 상수, 변수 모두에 사용 가능하다.
let b = 10
var a = 5
a = b
// a 값은 10
튜플을 사용해서 한번에 할당할 수도 있다.
let (x, y) = (1, 2)
// x의 값은 1, y의 값은 2
C나 Objective-C와는 다르게 Swift는 할당연산자가 값을 반환하지 않는다.
if x = y {
// x= y 는 값을 반환하지 틀린 문법이다.
}
산술 연산자 (Arithmetic Operators)
Swift는 모든 숫자형에서 사용 가능한 덧셈( + ), 뺄셈( - ), 곱셈( * ), 나눗셈( / ), 나머지( % ) 5가지의 산술 연산자를 지원한다.
덧셈 연산자는 아래와 같이 문자열을 합칠때도 사용할 수 있다.
1 + 2 // 3
"hello, " + "world" // equals "hello, world"
5 - 3 // 2
2 * 3 // 6
10.0 / 2.5 // 4.0
9 % 4 // 1
-9 % 4 // -1
Swift의 나머지연산자의 특징
기존의 언어들에서는 나머지 연산자는 정수타입까지만 지원하는 경우가 많았지만
스위프트에서는 부동소수점 타입에서도 나머지연산을 지원한다.
let number: Double = 5.0
var result: Double = number.truncatingRemainder(dividingBy: 1.5) // 0.5
result = 12.truncatingRemainder(dividingBy: 2.5) // 2.0
또한, 스위프트는 데이터 타입에 굉장히 엄격하기 때문에 서로 다른 자료형끼리의 연산이 엄격하게 제한된다.
서로 다른 자료형끼리 연산을 실행하려면 값을 해당 타입으로 변환한 후 연산해야 한다.
단항 음수 연산자 (Unary Minus Operator), 단항 양수 연산자 (Unary Plus Operator)
숫자 값에 - 부호를 붙여서 값을 변경할 수 있지만, + 부호를 통해서는 값을 변경할 수 없다.
let three = 3
let minusThree = -three // minusThree는 -3
let plusThree = -minusThree // plusThree는 3, 혹은 "minus minus 3"
let minusSix = -6
let alsoMinusSix = +minusSix // alsoMinusSix는 -6, 값이 바뀌지 않았다.
합성 할당 연산자 (Compound Assignment Operators)
a = a + 2와 같이 할당연산(=)과 덧셈연산(+)으로 구성된 연산을 합성해 +=형태로 축약해 사용 가능하다.
var a = 1
a += 2
// a는 3
'iOS > Swift' 카테고리의 다른 글
[iOS/Swift] 컬렉션 타입(Collection Type) (0) | 2022.10.20 |
---|---|
[iOS/Swift] 클로저(Closures) (0) | 2022.10.11 |
[iOS/Swift] 구조체(Struct)와 클래스(Class) (0) | 2022.08.14 |