В Swift кортежът е лека структура от данни, която ви позволява да групирате множество стойности заедно в една съставна стойност. Кортежите са полезни, когато трябва да върнете или предадете няколко стойности от функция или да ги съхраните в една променлива. Всеки елемент в кортеж може да има различен тип.

Можете да създадете кортеж, като поставите стойностите в скоби () и ги разделите със запетаи. Ето общия синтаксис за дефиниране на кортеж:

нека myTuple: (Тип1, Тип2, Тип3, …) = (стойност1, стойност2, стойност3, …)

Например, нека създадем кортеж, представящ информацията на човек:

let personInfo: (String, Int, String) = („Джон Доу“, 30, „Ню Йорк“)

Тук personInfo е кортеж, съдържащ три елемента: низ за името на човека, Int за неговата възраст и друг низ за местоположението му. Можете да получите достъп до отделните елементи на кортеж, като използвате нотация с точка, последвана от индекс или имена (ако сте дали имена на елементите на кортежа):

Като алтернатива можете да наименувате елементите, когато дефинирате кортежа, което прави кода по-четлив:

нека personInfoNamed: (име: низ, възраст: интелект, местоположение: низ) = („Джейн Смит“, 25, „Лос Анджелис“)

let name = personInfoNamed.name // “Джейн Смит”

let age = personInfoNamed.age // 25

нека местоположение = personInfoNamed.location // “Лос Анджелис”

Можете също да използвате разлагане на кортежи, за да присвоите стойности на променливи директно от кортеж:

Кортежите са особено удобни, когато искате да върнете множество стойности от функция, без да се налага да създавате потребителски тип, който да съхранява тези стойности временно.

Swift също ви позволява да създавате кортежи с незадължителен тип. Това означава, че можете да имате някои елементи със стойност, а други - нула. Въпреки това обикновено е добра практика да се използват кортежи с последователни типове за яснота и безопасност.

Имайте предвид, че кортежите са най-подходящи за малки колекции от свързани стойности, а за по-сложни структури от данни се препоръчва използването на класове или структури.

Ако искате да поддържате връзка с мен, нека се свържете с мен на 📲

http://linkedin.com/in/baljit-kaur-b8156417b