Ввод с ReadLine
Часть раздела Основы путешествия по Swift на Coddy. Урок 33 из 86.
До сих пор в ваших программах использовались жестко заданные значения. Чтобы сделать программы интерактивными, нужно принимать ввод от пользователя. В Swift функция readLine() считывает строку текста из стандартного ввода.
let input = readLine()
print(input)Здесь есть важная деталь: readLine() возвращает опциональную строку (String?), а не обычную строку. Это потому, что ввода, который можно прочитать, может больше не быть, и в таком случае readLine() возвращает nil. Для пустой строки она возвращает пустую строку "", а не nil. Перед использованием значения нужно безопасно извлечь его из опционала:
if let name = readLine() {
print("Hello, \(name)!")
}Использование if let гарантирует, что ты работаешь с вводом, только если readLine() вернула значение, а не nil. Такой шаблон чтения ввода и безопасного извлечения значения ты будешь часто использовать при создании интерактивных программ.
Задание
ЛегкоНапиши функцию greetUser, которая принимает name и возвращает персонализированное приветствие.
Функция моделирует то, что нужно сделать после безопасного извлечения ввода из readLine(). Получив имя, составь и верни строку приветствия.
Параметры:
name(String): имя пользователя
Возвращает: приветствие в формате: Hello, [name]!
Попробуйте сами
func greetUser(name: String) -> String {
// Напишите код здесь
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
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