3,17(목)
제가 이해하고 공부 한대로 작성한 내용이다 보니 , 정확한 정보가 아닐수도 있습니다
고쳐야 할 부분이 있다면 , 편하게 애기 해주시면 감사 하겠습니다🙏🏻
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 Operator | Half-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
}