[Swift] 문법6 - 튜플

LeeEunJae·2023년 3월 19일
0

iOS

목록 보기
7/14

📌 튜플

튜플 Tuple 은 어떠한 값들의 묶음 입니다. 배열과 비슷하다고 볼 수 있는데, 배열과는 다르게 튜플은 길이가 고정되어 있습니다. 접근할 때도 [ ] 대신 . 을 사용합니다.

var userInfo = ("dldmswo1209", "eun jae")
print(userInfo.0) // dldmswo1209
print(userInfo.1) // eun jae

튜플의 파라미터에 이름을 붙일 수도 있습니다.

var userInfo = (id: "dldmswo1209", name: "eun jae")
print(userInfo.id) // dldmswo1209
print(userInfo.name) // eun jae

이렇게 보면, 이전에 봤던 구조체 struct 와 비슷해보이죠? 실제로 간단한 자료형을 만들 때 구조체대신 튜플을 사용한답니다.

튜플의 어노테이션을 이렇게 생겼어요.

var userInfo : (String, String)
var animalInfo: (String, Int)

튜플을 응용하면 한번에 여러 변수에 값을 지정할 수 있습니다.

let (name, age) = ("eun jae", 25)
print(name) // eun jae
print(age) // 25

튜플의 값을 여러 변수에 저장할 때, 무시하고 싶은 값이 있다면, _ 를 사용하면 됩니다.
아래의 예시에서는 temp 라는 문자열을 무시합니다.

let (_, name, age) = ("temp", "eun jae", 25)
print(name) // eun jae
print(age) // 25

튜플을 반환하는 함수를 만들 수 있습니다.

func coffeeMachine(order: String) -> (String, Int) {
    switch order {
    case "아메리카노":
        return (order, 3500)
    case "카페라떼":
        return (order, 4500)
    case "초코라떼":
        return (order, 5000)
    case "콜드브루":
        return (order, 5500)
    default:
        return (order, 0)
    }
}

print(coffeeMachine(order: "아메리카노")) //("아메리카노", 3500)
profile
매일 조금씩이라도 성장하자

0개의 댓글