Swift 튜플 및 선택문과 반복문

‍deprecated·2021년 1월 8일
0

Swift 시작하기

목록 보기
3/12

Tuple

두 개의 데이터가 동시에 필요할 때. (ex. 좌표) 관계가 있는 data

let coordinates = (4, 4) //type : (Int, Int)
let x = coordinates.0
let y = coordinates.1

let coordinatesNamed = (x:4, y:3) // 명시적 표현
let x2 = coordinatesNamed.x
let y2 = coordinatesNamed.y

개별 변수 한 번에 뽑아오기

let (x3, y3) = coordnatesNamed

Control Flow

  • if-else
  • while
  • for
  • switch

Boolean for if-else

코드의 흐름을 제어

let name1 = "Jin"
let name2 = "Jason"
let isSame = name1==name2 // false
if isSame{
	print("같다")
} else {
	print("다르다")
}

논리연산자

let isMale = true
let jasonAndMale = isJason && isMale
let jasonOrMale = isJason || isMale

삼항연산자

let contentHeight = 40
let hasHeader = true
let rowHeight = contentHeight + (hasHeader ? 50 : 20)
// rowHeight is equal to 90

while

while 조건 {
	code
}
var i=0
while i<10 {
	print(i)
	i=i+1
}

repeat-while 사용

i=0
repeat {
	print(i)
	i=i+1
} while i<10

while은 조건 > 코드 수행 > 조건 > 코드 수행 ...
repeat while은 코드 수행 > 조건 > 코드 수행 > 조건 ...

For

range

let closedRange = 0...10 //0부터 10까지
let halfclosedRange = 0..<10 //0부터 9까지

사용법

var sum =0
for i in closedRange {
	print("\(i)")
    sum+=i
}
print("\(sum)")

sine 그래프

import Foundation
import UIKit

let closedRange = 0...10

var sinValue:CGFloat = 0
for i in closedRange {
    sinValue = sin(CGFloat.pi/4 * CGFloat(i))
}

where 사용하기

홀수만 출력하기

import UIKit
let closedRange = 0...10


for i in closedRange {
    if i%2==0 {
        continue
    }
    print(i)
}

를 where를 사용하면

for i in closedRange where i%2 != 0 {
    print(i)
}

for문 중첩

for i in closedRange {
    for j in closedRange {
        print("\(i)*\(j) = \(i*j)")
    }
}

Switch

let num=10
switch num {
case 0:
	print("0이다")
case 10:
	print("10이지롱")
default:
	print("나머지지롱")
}

//참고로
case 1...9:
	print("이런식으로도 가능하지롱")
let pet = "bird"
switch pet{
	case "dog", "cat" :
    	print("집동물")
    default:
    	print("몰라")
}

where 사용하기

let num=20
switch num {
case _ where num%2 == 0:
	print("짝수")
default:
	print("홀수")
}

튜플에서 활용하기

import UIKit

let coordinate = (x:10, y:10)
switch coordinate {
case(0,0) :
    print("원점")
case(_, 0):
    print("x축")
case(0,_):
    print("y축")
default:
    print("어딘가")
}

를 다르게 표현하면

switch coordinate {
case (let x, 0) :
    print("x축, x : \(x)")
case (0, let y):
    print("y축, y : \(y)")
case (let x, let y) where x==y : 
    print("x랑 y랑 같음 \(x), \(y)")
case (let x, let y):
    print("좌표어딘가")
}
profile
deprecated

0개의 댓글