[Swift] 스위프트 기본문법#4 - 튜플(Tuple)

    이 글은 제가 앨런의 Swift 문법 강의를 듣고 작성한 글입니다!

     

    1. 튜플이란?

    튜플은 나의 임의의 연관된 데이터의 조합으로 어떤 형태든 만들 수 있는 타입이라고 할 수 있다!
    또한, 변수를 선언과 동시에 해당 멤버는 결정되므로 추가/삭제는 불가능하다.

    // 튜플 기본 사용
    let twoNumbers: (Int, Int) = (1, 2)
    
    // var로 선언시 반드시 같은 형태로!
    var threeValues = ("홍길동", 20, "서울")
    threeValues = ("김둘리", 24, "수원")

     

    2. 튜플 기본

    1) 데이터 접근

    var threeValues = ("홍길동", 20, "서울")
    
    threeValues.0 // 홍길동
    threeValues.2 // 서울

    튜플의 데이터를 사용하려면 .으로 접근이 가능하다.

     

    2) 네임드 튜플(Named Tuple)

    var threeValues = (Name: "홍길동", Age: 20, Region: "서울")
    
    threeValues.Name // 홍길동

    각 튜플의 데이터에 이름을 붙여줄 수 있으며 사용시에 코드의 가독성을 높혀주고 접근시 용이하다는 장점이 있다.

     

    3) 튜플의 분해

    let (first, second, third) = (1, 2, 3)

    튜플의 분해를 사용하면 각 요소를 각각 바인딩이 가능하다.

     

    3. 튜플의 활용

    1) 튜플과 if, switch

    let iOS = (language: "Swift", version: "5")
    
    if iOS == ("Swift", "5") {
    	print("스위프트 버전 5 입니다")
    }
    
    switch iOS {
    	case ("Swift", "5"):
    		print("스위프트 버전 5 입니다")
    	default:
    		break
    }

    튜플 내의 두 가지 요소가 모두 일치해야 해당 구문들을 실행한다.

     

    2) 바인딩을 응용한 switch

    var coorinate = (9, 0)
    
    switch coorinate {
    	// 형태가 (let distance, 0)와 같기 때문에
    	case (let distance, 0), (0, let distance):
    		print("X축 또는 Y축 위에 위치하며, \(distance)만큼의 거리가 떨어져있음")
    	default:
    		print("축 위에 있지 않음")
    }
    
    // X축 또는 Y축 위에 위치하며, 9만큼의 거리가 떨어져있음

    바인딩을 활용하여 switch문 내에서 해당하는 형태로 사용할 수 있다.

    댓글