연산자 (nil-coalescing operator)

Lena·2021년 10월 3일
0

Swift

목록 보기
3/8
post-thumbnail

Operator


특이 사항만 정리함

산술 연산자

  • 증가연산자와 감소연산자
    • 단항연산자 + -
    • ++, -- 연산자로 1씩 증가 및 감소하는 방법은 없어져서 사용할 수 없음 (swift 3에서 없어짐) → += , -= 으로 사용할 것

비교연산자

=== : 같은 곳을 가리키고 있는지를 체크할 때 → 같은 인스턴스를 가리키는지 비교하여 boolean값을 반환함

!== : 같지 않은 인스턴스를 가리키는지 비교하여 boolean값을 반환함

~= : 패턴 매치 → 패턴이 매치되는지 확인하여 boolean값을 반환함

범위연산자

  • 닫힌 범위 연산자 closed range operator

    • x...y : x에서 시작하여 y로 끝나는 범위에 포함된 숫자
    • 5...8 : 5,6,7,8
  • 반 열림 범위 연산자 (halg-open range operator)

    • x..<y : x부터 시작하여 y가 포함되지 않는 모든 숫자
    • 5..<8 : 5,6,7
  • 단방향 범위 연산자 One-Sided Ranges

    • A... : A를 포함한 A 이상의 수

    • ...A : A를 포함한 A 이하의 수

    • ..<A : A를 포함하지 않는 A 미만의 수

      let names = ["A", "B", "C", "D"]
      for name in names[2...]{
      	print(name)
      } 

삼항 연산자 Question ? A : B

  • 비교 연산을 빠르게 하기 위해 삼항 연산자 (ternary operator) 를 지원함
  • [조건] ? [참 표현식] : [거짓표현식]
  • 조건 부분 계산해 참이면 A, 거짓이면 B 를 수행

Nil-Coalescing Operator Nil 병합 연산자 ??

  • 옵셔널 변수 ?? nil 일 때 할당되는 값
  • A ?? B : A가 nil이 아니면 A를 반환, nil이면 B를 반환함
  • 옵셔널 변수의 값이 nil 이면 → ?? 다음 값 (B) 으로 할당됨 , nil이 아니면 풀린다
let defaultAge = 1
var age: Int? // age에 nil값 들어가있음 
// age = 3
print(age)

var myAge = age ?? defaultAge //age가 nil이니까 뒤에 값 
print(myAge) // myAge는 1 

→ 옵셔널 사용할 때 유용함

학습자료 : Smile Han 유튜브 채널

0개의 댓글