//튜플 선언
let tupleValue = ("a", "b", 1, 2.5, true)

tupleValue.0 // "a"
tupleValue.1 // "b"
tupleValue.2 // 1
tupleValue.3 // 2.5
tupleValue.4 // true

//타입 지정
var tuple01 : (Int, Int) = (100, 200)
var tuple02 : (Int String, Int) = (100, "a", 200)
var tuple03 : (Int, (String, String)) = (100, ("t", "v"))
var tuple04 : (String) = ("sample string")

스위프트에서는 튜플의 개별 아이템을 개별 변수나 상수로 각각 할당받는 바인딩(Binding) 방식의 구문도 제공한다.

let tupleValue:(String, Character, Int, Float, Bool) = ("a", "b", 1, 2.5, true)

//튜플의 각각의 개별 아이템을 변수로 바인딩
let (a,b,c,d,e) = tupleValue;

//a => "a"
//b => "b"
//c => "1"
//d => "2.5"
//e => true

결과값으로 튜플을 리턴하기

func getTupleValue() -> (String, String, Int) {
	return ("t", "v", 100)
}

let (a,b, _) = getTupleValue()
//a => "t"
//b => "v"
//c 는 _ 언더바로 패스 (사용하지 않는 값은 패스가능)