swift

swift - Tuples

행복하게사는게꿈 2021. 1. 5. 19:37

Tuples

 

// 하나의 상수에는 하나의 값만 저장할 수 있음
// Int는 스칼라 타입의 변수 -> 스칼라 타입은 하나의 값만 저장할 수 있음
let i = 12

// 이게 튜플
// 두개 이상의 값 저장 가능
// 튜플은 컴포넌트 타입
// 서로 다른 형식의 값도 저장 가능
let a = (12, 34)

// 튜플은 만들고 나서 이후에는 추가, 삭제 불가능
var data = ("<html>", 200, "OK", 12.34)

// 하지만 멤버의 값을 바꾸는건 가능
// 주의할건 처음 생성한 자료형을 맞춰줘야 함
data.3 = 12.44

data.3

Named Tulples

 

let data = ("<html>", 200, "ok", 12.34)

data.0

let named = (body: "<html>", statusCode: 200, statusMessage: "OK", dataSize: 12.34)

named.1
named.statusCode

Tulples matching

let resolution = (3840.0, 1080.0)

if resolution.0 == 3840 && resolution.1 == 2160 {
    print("4K")
}

switch resolution {
// value binding
case let(w, h) where w / h == 16.0 / 9.0:
    print("16:9")
// waildcard
case (_, 1080):
    print("1080p")
// 인터벌 매칭
case (3840...4096, 2160):
    print("4K")
default:
    break
}

switch 문이 지원하는 기능이 다양