Swift 문법 (조건문IF, 튜플 Tuple)

김형준·2023년 6월 1일
0

Swift

목록 보기
2/6

조건문 IF

True / False라는 특정 조건에서 코드를 실행하게 하는 문장

조건문은 참 또는 거짓이 나와야한다

  1. 예시 1
var n = 10
if n > 5 {
print(" \(n)은 5보다 크다")  **이것만 출력**
} else if n == 10 {
print(" \(n)은 10과 같다")
} else { print("기타")}
  1. 예시 2
var n = 10
if n > 5 {
    print(" \(n)은 5보다 크다")   **이거와**
    if n == 10 {
        print(" \(n)은 10과 같다") **이거 둘다 출력**
}
} else { print("기타")}

if의 범위와 논리적인 구조를 잘 확인해야한다.

조건문(Switch)- 표현식/변수를 분기처리할때에 사용, if의 쓰임보다 한정적인 상황에서 사용.

  1. ,(콤마)를 사용하여 하나의 케이스에 여러 값을 넣을 수 있다
  2. 모든 경우의 수를 하나도 빠짐없이 다뤄야하며, 그렇지 않을때에는 마지막에 default를 반드시 넣어야한다.
  3. 하나의 케이스에는 문장이 반드시 필요하며 문장이 없을 시에는 break를 반드시 입력(문장이 없을 시에 컴파일 에러가 발생할 수 있다.)
var n = 111

switch n {
case 0...99:
print("\(n)은 100 이내의 숫자")
case 100...999:
//여기에 fallthrough 쓰면 고려없이 다음 블럭인 default "다시설정" 을 출력
print("\(n)은 100 이상")     
//여기에 fallthrough 쓰면 print("\(n)은 100 이상") 와 default "다시설정" 을 출력
default:
print("다시설정")
}

fallthrough: 매칭된 값에 대한 고려없이 무조건 다음블럭을 실행

Switch Value Binding: 주로 where 과 같이 사용되며, 바인딩된 상수는 case 내부에서만 사용이 가능하다

switch n {
case let x where x % 2 == 0:
print("\(n)은 짝수")
case let x where x % 2 != 0:
print("\(n)은 홀수") 
default:
print("다시설정")
}

튜플(Tuples): 2개이상의 연관된 데이터(값)를 저장하는 Compound 타입

var kai1: (Int, Int) = (5, 6)

튜플의 분해: 즉 모아놓았던 데이터를 분해해서 사용 가능하다
var (aa, bb) = kai1
aa는 곧 5
bb는 곧 6

Tuples 과 Switch 활용

var kai1 = (5, 6)
switch kai1 {
case let (x, y) where (x,y) > (3,3):
print(" \(x), \(y)이 나온다")
default: break
}

if 처럼 하나하나 조건을 비교하는게 아니라 아니라 switch를 활용해서 한번에 간단하게 가능하다.

profile
기억보단 기록, 느리더라도 꾸준히

0개의 댓글