Основы Swift. Интерполяция строк и аннотация типов данных

Основы Swift. Интерполяция строк и аннотация типов данных

В предыдущей статье мы рассказали об основных типах данных в Swift, а сегодня поговорим об автоматическом определении их типа (аннотации), а также интерполяции строк (создании нового значения из нескольких констант и переменных).

Автоматическая аннотация типов данных

В языке Swift существует два способа указать тип данных, которые хранятся в переменной:

  1. Присвоить первоначальное значение при инициализации
  2. Применить метод аннотации типов.

Вместо:

var name: String
name = "Tim McGraw"

Лучше использовать:

var name = "Tim McGraw"

Это касается всех типов данных:

var age = 25
var longitude = -86.783333
var nothingInBrain = true

Это метод автоматической аннотации: Swift предвидит, какой тип данных следует использовать для переменной в зависимости от введенных данных. Если ввести число вроде -86,783333, Swift отдаст предпочтение типу Double.

Возможность автоматически определять тип данных, присвоенных переменной — важная особенность Swift. Разработчики на Swift могут не аннотировать переменные, Swift сам определит их тип, исходя из присвоенного значения. Такое автоматическое определение типов данных повышает надежность всей системы типов (типобезопасность) и позволяет оптимизировать процесс компиляции кода.

Операторы в Swift

Прежде, чем обращаться к вопросу интерполяции строк, давайте посмотрим, какие основные операторы доступны в Swift:

  1. Арифметические операторы сложения (+), вычитания (–), умножения (*) и деления (/).
  2. Оператор инкремента (++) и оператор декремента (––), которые соответственно добавляют и вычитают единицу.
  3. Составные операторы присваивания: присваивание со сложением (+=), присваивание с вычитанием (–=).
  4. Операторы сравнения: больше (>), меньше (<), больше или равно (>=), меньше или равно (<=), равно (==), не равно (!=).

Интерполяция строк

За этим сложным названием кроется очень простое действие: объединение переменных и констант внутри строки.

Удалите код, который вы ввели ранее и оставьте только эту строку:

var name = "Tim McGraw"

Если нужно показать пользователю сообщение с его именем, интерполяция строк поможет упростить этот процесс. Вы просто вставляете обратную косую черту, ставите открывающую скобку, пишите код и добавляете закрывающую скобку:

var name = "Tim McGraw"
"Your name is \(name)"

На панели результатов в одну строку отобразится текст «Your name is Tim McGraw», поскольку интерполяция объединила две отдельные строки в одну.

Такого же результата можно добиться, используя оператор «+»:

var name = "Tim McGraw"
"Your name is " + name

Но этот способ нецелесообразен, в особенности, когда нужно объединить сразу несколько переменных разных типов.

Кроме того, интерполяция строк в Swift распознает разные типы данных автоматически. Например:

var name = "Tim McGraw"
var age = 25
var latitude = 36.166667
"Your name is \(name), your age is \(age), and your latitude is \(latitude)"

Выполнить операции выше с помощью оператора «+» значительно сложнее, поскольку Swift не позволяет добавлять данные типа Integer и Double в строки.

Сейчас результаты выполнения кода уже могут не помещаться на панели результатов. Чтобы отобразить результаты, измените размер окна или наведите указатель мыши на результат и щелкните кнопку «+», которая появится.

Одна из важных возможностей интерполяции строк это то, что между \( и ) может находиться целое выражение на Swift, например:

var age = 25
"You are \(age) years old. In another \(age) years you will be \(age * 2)."

Сегодня мы узнали об автоматическом аннотировании типов данных в Swift, которое предупреждает ошибки присвоения переменной неверного значения, и процедуре интерполяции строк, с помощью которой можно объединить несколько переменных и констант внутри одной строки. В следующий раз мы поговорим о массивах.

Источник: Hacking with Swift

Читайте далее: Основы Swift. Массивы

Нужен MVP, разработка под iOS, Android или прототип приложения? Ознакомьтесь с нашим портфолио и сделайте заказ уже сегодня!