Урок 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

Поддержите наш проект, и помогите изменить подход к обучению!