Кортежи
Часть раздела Основы путешествия по Swift на Coddy. Урок 68 из 86.
Массивы хранят несколько значений одного типа, но иногда нужно сгруппировать несколько связанных значений разных типов. В этом случае пригодятся кортежи.
Кортеж — это фиксированная коллекция значений, которые могут иметь разные типы. Чтобы создать кортеж, помести значения в круглые скобки, разделив их запятыми:
let person = ("Alice", 25, true)
print(person) // ("Alice", 25, true)Чтобы получить доступ к отдельным значениям, используйте их индекс после точки:
let coordinates = (10.5, 20.3)
print(coordinates.0) // 10.5
print(coordinates.1) // 20.3Для лучшей читаемости элементам также можно присвоить имена:
let product = (name: "Laptop", price: 999.99)
print(product.name) // Laptop
print(product.price) // 999.99Ещё одна полезная возможность — разложить кортеж на отдельные переменные:
let point = (3, 7)
let (x, y) = point
print(x) // 3
print(y) // 7Кортежи отлично подходят для возврата нескольких значений из функции или группировки небольшого количества связанных данных без создания полноценной структуры.
Задание
ЛегкоВы получите три строки входных данных:
- Имя (String)
- Возраст (Int)
- Оценка (Double)
Создайте кортеж с именем student с именованными элементами: name, age и score.
Затем разложите кортеж на три отдельные переменные: studentName, studentAge и studentScore.
Выведите следующие три строки:
- Имя ученика, полученное с помощью именованного элемента
- Возраст ученика, полученный с помощью индекса (точечной нотации с числом)
- Переменная с разложенной оценкой
Пример: Если входные данные — Emma, 21 и 95.5, вывод должен быть таким:
Emma
21
95.5Попробуйте сами
// Считайте ввод
let name = readLine()!
let age = Int(readLine()!)!
let score = Double(readLine()!)!
// TODO: Напишите свой код ниже
// 1. Создайте кортеж с именем 'student' и именованными элементами: name, age и score
// 2. Разложите кортеж на три отдельные переменные: studentName, studentAge и studentScore
// 3. Выведите имя студента, используя именованный элемент (student.name)
// 4. Выведите возраст студента, используя обращение по индексу (student.1)
// 5. Выведите переменную studentScore, полученную при разложении кортежаВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСоставное присваиваниеПовторение: простая математикаОператоры сравнения7Основы ввода-вывода
Функция printИнтерполяция строкВвод с ReadLineПреобразование типовПовторение: до 120Повторение: истина или ложь2Переменные
Let и VarАннотации типовЧислаСтрокаЛогический типСоглашения об именованииПовторение — инициализация переменных5Операторы, часть 2
Логические операторы, часть 1Логические операторы, часть 2Повторение: простая логикаЛогические операторы, часть 3Тернарный оператор8Калькулятор разделения счёта
Приветственное сообщениеВвод данных14Массивы: продвинутый уровень
Срезы массивов. Часть 1Срезы массивов. Часть 2Операторы последовательностейМетод Contains3Опциональные значения
Что такое опциональные значенияИзвлечение значения с помощью if letGuard letОператор объединения с nilПовторение — безопасное извлечение значения6Принятие решений
Условный оператор ifIf — ElseПовторение: простой калькуляторОператор switchSwitch с диапазонами9Циклы
Цикл for-inЦикл whileЦикл repeat-whileПрерывание циклаПереход к следующей итерацииПовторение — факториалДиапазоны в циклахВложенный циклПовторение — динамический вводПотренируйтесь самостоятельно: Песочница Swift