Swift 정리 - Basic Operator

김세영·2021년 12월 18일
0

Swift Doc 정리

목록 보기
1/17
post-thumbnail

Assignment Operator

할당 연산자 = 는 값을 초기화시키거나 변경
상수, 변수에 모두 사용 가능

Objective-C 또는 C와 다르게 값을 반환하지 않는다.

if x = y { ... } // Error

Arithmetic Operators

4가지 표준 사칙 연산자인 +, -, *, /을 제공

Objective-C 또는 C와 다르게 오버플로우되는 것을 허용하지 않는다.
addingReportingOverflow() 등을 통해 오버플로우를 허용할 수 있다.

Comparison Operators

표준 C에서 제공하는 비교 연산자를 모두 지원
객체 비교를 위해 식별 연산자 ===!==를 제공

  • ===는 같은 인스턴스를 참조하고 있는지 비교하는 역할
let book1 = Book(title: "Hello")
let book2 = Book(title: "Hello")
let book3 = book1

book1 === book2 // false
book1 === book3 // true
  • 클래스의 인스턴스를 참조하는 변수는 stack
    클래스의 인스턴스는 heap에 저장되므로
    ==는 stack, ===는 heap 영역에서 값 비교

Nil-Coalescing Operator

a ?? b 형태로, 옵셔널인 anil이 아니면 a를, 그렇지 않으면 b를 반환

let defaultValue = "Default"
let optionalValue: String? // nil

let value = optionalValue ?? defaultValue
// value : "Default"

Range Operators

ClosedRange

닫힌 범위 연산자로, 1...5이면 1, 2, 3, 4, 5에 해당

let range: ClosedRange<Int> = 1...5

for r in range { } // r = 1, 2, 3, 4, 5
// or
for r in 1...5 { } // r = 1, 2, 3, 4, 5

Half-Open

반 닫힌 범위 연산자로, 1..<5이면 1, 2, 3, 4에 해당

let range: Range<Int> = 1..<5

for r in range { } // r = 1, 2, 3, 4
// or
for r in 1..<5 { } // r = 1, 2, 3, 4

One-Side

단방향 범위 연산자로,
...5이면 ..., -2, -1, 0, 1, 2, 3, 4, 5 에 해당
..<5이면 ..., -2, -1, 0, 1, 2, 3, 4에 해당

배열의 인덱스로도 사용 가능

let someInts = [0, 1, 2, 3, 4, 5]

for someInt in someInts[...3] { } // someInt = 0, 1, 2, 3
// or
for someInt in someInts[..<4] { } // somtInt = 0, 1, 2, 3
profile
초보 iOS 개발자입니다ㅏ

0개의 댓글