not bad 한 개발

Swift - where절 본문

Swift

Swift - where절

leebean 2021. 10. 4. 17:37

(인덕대학교 컴퓨터소프트웨어학과 iOS프로그래밍기초(21-2학기)한성현 교수님 강의 내용을 변형 및 요약 했습니다.)

 

where절

  • where절은 for문 switch-case문에 기존의 조건에 또다른 조건을 추가하기위해 사용합니다.
  • 배열을 결합하여 조건을 추가하는 것이 가능합니다.

 

(where절 예시1)

var onDo = 60
switch (onDo)
{
    case 0...49 where onDo % 2 == 0:
        print("Cold and even")
    case 50...79 where onDo % 2 == 0:
        print("Warm and even")
    case 80...110 where onDo % 2 == 0:
        print("Hot and even")
    default:
        print("onDo out of range or odd")
}
// onDo의 값이 60이기 때문에 두 번째 case문 이 실행되고 동시에 나누어서 나머지가 0이 
// 나오기 때문에 ”Warm and even“이 출력됩니다.

 

(where절 예시2)

var high = 60
var temperature = -90
var result = ""
switch (high){
    case 0...10 where temperature > -50:
        result = "Troposphere 대류권"
    case 10...50 where temperature < 0 && temperature > -50:
        result = "Stratosphere 성층권"
    case 50...80 where temperature < 0 && temperature > -80:
        result = "Mesosphere 중간권"
    default:
        result = "Thermosphere 열권 or error"
}
print(result)
//높이와 온도의 입력 값에 따라 대기권 구조 중 어느 부분에 해당하는지 알려주는 
//코드 입니다.

 

(where절 예시3)

var num1: [Int] = [1, 2, 3, 4, 5]
var num2: [(Int,Int)] = [(4,4), (6,-6), (11,2), (-8,0), (0,10)]

//for문 사용법
for test1 in num1 where test1 > 2 {
    print(test1)
}

//for문과 switch-case 연계
for num3 in num2{
    switch num3{
        case let (test2,test3) where test2 == test3:
            print("같은 수가 존재합니다.")
        case let (test2,test3) where test2 == -test3:
            print("양수 음수 모두 존재합니다.")
        case (let test2,let test3) where test2 > test3:
            print("\(test2) 는 \(test3) 보다 큽니다")
        case (-8,_):
            print("내용중 -8이 있습니다.")
        case (_,10):
            print("내용중 10이 있습니다.")
        default:
            break
    } 
}

 

 

'Swift' 카테고리의 다른 글

Swift - func(함수)  (0) 2021.10.09
Swift - fallthrough문  (0) 2021.10.04
Swift - switch-case문  (0) 2021.10.04
Swift - if~let문 / guard~let문 비교  (0) 2021.10.04
Swift - guard문  (0) 2021.10.04
Comments