튜플(Tuple)

썹스·2022년 9월 29일
0

Swift 문법

목록 보기
6/68

튜플(Tuple)이란?

튜플(Tuple)은 사용자 임의로 여러 종류의 값을 하나의 개체에 일시적으로 묶어 만든 타입입니다.

튜플에 저장되는 항목들은 어떠한 타입도 될 수 있습니다.
즉, 저장된 값들이 모두 동일한 타입이어야 한다는 제약이 없습니다.

튜플에 저장된 값을 호출하고 싶을 때는 인덱스 번호를 사용하면 됩니다.

✅ 튜플의 기본 사용

var myTuple = (20, 70.5, "홍길동")

//인덱스를 사용하여 값을 추출할 수 있다.
print(myTuple.0)  //20
print(myTuple.2)  //홍길동

✅ 튜플 요소 이름 지정

튜플을 정의할 때 각 요소에 이름을 지정할 수 있습니다.

var myTuple = (myAge: 20, myWeight: 70.5, myName: "홍길동")

print(myTuple.myAge)  //20
print(myTuple.myName) //홍길동

튜플을 정의한 뒤 각 요소에 이름을 할당할 수 있습니다.

var myTuple = (20, 70.5, "홍길동")
var (myAge, myWeight, myName) = myTuple

print(myAge)   //20
print(myName)  //홍길동

✅ 무시하고 싶은 값에 밑줄( _ )을 사용하면 그 값은 무시

var myTuple = (20, 70.5, "홍길동")
var (myAge, _, myName) = myTuple

print(myAge)   //20
print(myName)  //홍길동

왜 튜플(Tuple)을 사용할까???🤔

Swift에서 함수(메서드)가 반환할 수 있는 return 값은 1개의 데이터 타입뿐입니다.

그 때문에 여러 개의 데이터 타입을 반환하기 위해서 여러 값을 하나로 묶어 하나의 데이터 타입으로 사용할 수 있는 튜플(Tuple)을 사용합니다. (함수뿐만 아니라 제어문, 조건문 등에서도 많이 사용된다.)

✅ 함수의 return type을 튜플(Tuple) 타입으로 사용

func phone(brand: String) -> (String, Int?){
//parameter type을 String으로 받았지만, return type은 튜플을 사용하여 (String, Optional<Int>)type으로 반환
    switch brand{
    case "apple":
        return ("아이폰14 Pro", 1550000)
    case "samsung":
        return ("Z플립4", 1474000)
    default:
        return ("관심 없는 스마트폰 입니다...", nil)
    }
}

print(phone(brand: "apple"))
print(phone(brand: "samsung"))
print(phone(brand: "lg"))

/*
출력 결과
("아이폰14 Pro", Optional(1550000))
("Z플립4", Optional(1474000))
("관심 없는 스마트폰 입니다...", nil)
*/
profile
응애 나 코린이(비트코인X 코딩O)

0개의 댓글