Урок 4. Интерполяция строк и конкатенация строк
Главная / Уроки / Страница блока Основы / Урок 4. Интерполяция строк
1 Ноября 2022
Комментарии
Мы будем работать в новом файле.
Прежде чем перейти к интерполяции и конкатенации, давайте закроем еще одну маленькую тему.
Бывает так что мы хотим оставить какой либо комментарий к коду, например пометить для себя что свойство нужно инициализировать:
let country: String Свойство нужно инициализировать
Xcode тут же выдаст нам ошибку. И тут проблема даже не в том что мы написали на русском:
в таком виде будет точно такая же ошибка.
Что бы исправить ошибку можно использовать однострочный комментарий, мы просто поставим два слэша перед фразой:
let country: String //Свойство нужно инициализировать
Теперь xcode, на нас не ругается, он эту строчку не читает, вы можете закомментировать любую часть вашего кода:
//let country: String
//country = "Russia"
Этот комментарий работает только в одну строку.
Что бы сделать многострочный комментарий нужно выделить блок кода и нажать комбинацию клавиш command + /
/*
let country: String
country = "Russia"
*/
Интерполяция строк
За этим сложным названием кроется очень простое действие: внедрение в определенные места ваших строк значения других свойств или просто значений
Давайте создадим свойство, которое будет содержать следующую фразу:
let greeting = "Привет, Андрей! Андрей всегда благородный, Анрдей всегда сильный"
И все бы отлично, но если нам понадобится изменить имя, нам придется менять его ручками в каждом месте где оно присутствует.
Согласитесь, не очень удобно!
Что мы можем сделать? Ну для начала, давайте создадим отдельное свойство для имени:
let name = "Андрей"
let greeting = "Привет, Андрей! Андрей всегда благородный, Анрдей всегда сильный"
Теперь при помощи незатейливой конструкции: \(), мы можем внедрить наше имя в саму строку:
let name = "Андрей"
let greeting = "Привет, \(name)! \(name) всегда благородный, \(name) всегда сильный"
При этом внутрь строки можно передавать не только текстовые значения. Это могут быть разлитые типы данных, например Int.
Давайте для примера объявим константу, которая будет отвечать за возраст нашего героя и дополним нашу фразу:
let name = "Андрей"
let age = 45
let greeting = "Привет, \(name)! \(name) всегда благородный, \(name) всегда сильный. Тебе всего \(age), ты полон мудрости и знаний, а через 5 лет тебе будет 50 и это новый этап в жизни."
let name = "Андрей"
let age = 45
let greeting = "Привет, \(name)! \(name) всегда благородный, \(name) всегда сильный. Тебе всего \(age), ты полон мудрости и знаний, а через 5 лет тебе будет \(age + 5) и это новый этап в жизни."
Внешне ничего не поменялось, но концептуально очень сильно!
Конкатенация строк
let firstPhrase = "I Love"
let lastPhrase = " New Year"
let firstPhrase = "I Love"
let lastPhrase = " New Year"
firstPhrase + lastPhrase
let firstPhrase = "I Love"
let lastPhrase = " New Year"
let fullPhrase = firstPhrase + lastPhrase
Таким образом свойство fullPhrase будет содержать в себе полную фразу.
Но использовать конкатенацию для объединения строк, не лучшее решение, в особенности, когда нужно объединить сразу несколько свойств разных типов, в этом случае лучше выбрать интерполяцию.
Поддержите наш проект, и помогите изменить подход к обучению!
Развивайся вместе с нами
Поддержите наш проект, и помогите изменить подход к обучению!
Address List
Social Networks
Поддержите наш проект, и помогите изменить подход к обучению!
Social Networks