삼향연산 & 범위연산자 & 패턴 매칭 연산자

Ios_Roy·2022년 3월 20일
0

swift 문법

목록 보기
7/29
post-thumbnail

삼향 연산자 란 ?

Nil-coalescing : 옵셔널 값을 풀어주는 개념으로 삼항연산자를 활용해서 쓸 수 있습니다.
(연산자? : 값을 확인, 변경, 결합하는데 사용하는 특별한 기호나 문구)

삼항연산자는 ( ? ) = true, ( : ) = false 라고 생각하면 쉽습니다.

첫 번째 값에 지정된 조건을 확인하고 true이면 두 번째 값을 반환하지만 false이면 세 번째 값을 반환합니다.

예시

let firstCard = 11
let secondCard = 10
firstCard == secondCard ? "카드가 일치합니다." : "카드가 일치하지 않습니다."

두 카드가 동일한 지 확인한 다음 조건이 true이면 "카드가 일치합니다"를 print하고 false이면 "카드가 일치하지 않습니다"를 print합니다. 조건을 사용하여 동일한 코드를 작성할 수 있습니다.

삼향 연산자를 풀어서쓰면

if isAuthenticated {
    print("환영합니다!")
} else {
    print("누구세요?")
}

범위 연산자란 ?

  • {Range 값} ~= {하나의 값}
  • 왼쪽에서 정의한 범위 값 안에 오른쪽의 값이 속하면 true, 아니면 false 반환
  • 왼쪽에는 범위, 오른쪽에 하나의 값이 와야하고 반대가 되면 컴파일 에러 발생

범위를 쉽게 표기하는 방법

closed Range OperatorHalf-open Range Operator
1...1 (1부터 10이하)
1... (정수 1이상)
...10 (정수 10이하)
1..<10 (정수 1부터 10 미만)
..<10 (정수 10 미만)
해당 값을 포함 하면서 범위를 정의 .
한방향은 열리도록 정의가 가능
(앞의 값은 포함) 뒤의 값을 포함 하지 않고 사용
범위를 정의 . 한방향 은 열리도록 정의하는 것도 가능함 !
사용할때 한칸을 뛰지 말고 사용 해야 됨 !!
ClosedRange = (1부터 10 이하),
PartialRangeFrom (정수 1이상)
PartialRangeThrough, (정수 10이하),
사용하기 쉽게 스위프트에서 제공해준 문법
Range (정수 1부터 10 미만),
PartialRangeUpTo (정수 10 미만)

사용 예시

for value in 1...10 {
    print("\(value) times 5 is \(value * 10)")
}

패턴 매칭 연산자

범위 연산자와 함께 쓰이는 연산자
패턴이란 소스의 양을 줄여서 쓰고 읽기 쉽게 정해놓은 구조 라고 생각할 수 있습니다.
패턴 매칭이란. 코드에서 패턴을 찾아내고 활용하는 것

예시

var myAge = 25


if 20...29 ~= myAge {
    print("20대 입니다.")
}




// 스위치문은 내부적으로 패턴매칭 연산잘로 구현이 되어있음


switch myAge {
case 20...29:
    print("20대 입니다.")
case 30...39:
    print("30대 입니다.")
default :
    break
}
profile
iOS 개발자 공부하는 Roy

0개의 댓글