Swift문법 - (5)삼항연산자와 범위연산자

Youth·2022년 9월 17일
0

swift문법공부

목록 보기
5/27
post-thumbnail

삼항연산자

  • 참과 거짓일때 실행해야할 무언가가 다를때
var a = 10

//if/else문

if a > 0 {
    print("1")
} else {
    print("2")
}

// 3항 연산자 (위의 if/else문과 완벽하게 동일)

a > 0 ? print("1") : print("2")
//a가 0보다 크다면 print("1")을 실행하고 아니라면 print("2")를 실행한다

조건에 따라 선택지가 “두 가지”인 경우 → 삼항연산자를 사용할 수 있는지 확인

→조건문 if-else문보다 간단하고 직관적인 코드를 짤 수 있음

범위연산자

  • 숫자의 범위를 간편하게 표시할때 사용한다

주의사항

  • 오름차순형식으로 사용을 해야한다
  • 실수의 형식으로도 사용이가능하지만 드문경우고 왠만하면 정수형식으로 사용한다
  • 단방향범위연산자 ‘..<10’, ‘0…’ 같은경우는 띄어쓰기를 하면 안된다
let range = 1 ... 10     //1이상 10이하

let range1 = 1...      //1이상의 모든 정수 

let range2 =  ...10    //10이하의 모든 정수
let rangeH = 1 ..< 10     //1이상 10미만

let rangeH1 =  ..<10    //10미만의 모든 정수

범위연산자의 사용

var num = 23

switch num {
case 10...19:                //이경우엔 10...19 ~= num인지를 판단
    print("10대 입니다.")
case 20...29:
    print("20대 입니다.")
case 30...39:
    print("30대 입니다.")
default:
    print("그 외의 범위 입니다.")
}

let point = (1, 2)

switch point {
case (0, 0):              //이 경우엔 (0, 0) == point 인지를 판단
    print("(0, 0)은 원점 위에 있다.")
case (-2...2, -2...2):    //이 경우엔 각각이 범위안에있는지(~=)를 판단
    print("(\(point.0), \(point.1))은 원점의 주위에 있다.")
default:
    print("점은 (\(point.0), \(point.1))에 위치한다.")
}

패턴매칭연산자(~=)

  • 숫자가 범위 내에 있는지를 확인하는 연산자
  • 범위는 &&나 ||로 연결시켜줘야한다
var n = 20

if n >= 10 && n <= 100 {
    print("10이상, 100이하입니다.")
}
// 10 <= n <= 100 이런문장은 스위프트에서 성립하지 않는다

if 10...100 ~= n {
    print("10이상, 100이하입니다.")
}
profile
AppleDeveloperAcademy@POSTECH 1기 수료, SOPT 32기 iOS파트 수료

0개의 댓글