[인터뷰질문 003] tuples이란 무엇이고 어느 상황에서 유용하게 사용할 수 있습니까?


튜플이란?

튜플은 아주 작은 익명의 'struct'라고 생각하면 편합니다. 이게 무슨의미냐 하면, struct라는 것을 생각해보면 다양한 타입의 프로퍼티 들이 들어갈 수 있습니다. Array는 같은 타입만 넣을 수 있지만, 튜플은 여러 타입이 들어갈 수 있는 자료형 입니다.

예제

간단하고 익숙한 예제부터 설명 해보도록 하겠습니다.

let student = ("Leeo",17)
print(student.0, student.1) // Leeo 17

본인은 이름이 없고, student라는 변수에 할당했습니다. 그리고 현재는 구성 요소들의 이름이 없기 때문에 index로 접근해야합니다. 다음은 이름을 줘 보도록 하겠습니다.

let student = (name: "Leeo",age: 17)
print(student.name, student.age)  // Leeo 17

코드를 살펴보면 값을 이름으로 접근할 수 있습니다. 마치 struct 같지 않나요? 그리고 보이는 바와 같이 여러개의 다른 타입의 값들을 type-safe 하게 반환할 수 있습니다.

위와 같은 방법을 활용하여 1회용 이라면 struct를 선언하지 않고 여러개의 값을 반환할 수 있습니다.

댓글

이 블로그의 인기 게시물

[IOS] AppDelegate는 뭐하는 녀석이지?

[git] Github 이슈 라벨(issue labels)

[git] git의 upstream과 origin 헷갈리는 사람 손!