Swift - Типы данных

При программировании на любом языке программирования вам необходимо использовать разные типы переменных для хранения информации. Переменные - это не что иное, как зарезервированные ячейки памяти для хранения значений. Это означает, что при создании переменной вы резервируете некоторое пространство в памяти.

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

Встроенные типы данных

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

  • Int or UInt- Используется для целых чисел. В частности, вы можете использовать Int32, Int64 для определения 32- или 64-битного целого числа со знаком, тогда как UInt32 или UInt64 для определения 32- или 64-битных целочисленных переменных без знака. Например, 42 и -23.

  • Float- Используется для представления 32-битного числа с плавающей запятой и чисел с меньшими десятичными точками. Например, 3,14159, 0,1 и -273,158.

  • Double- Используется для представления 64-битного числа с плавающей запятой и используется, когда значения с плавающей запятой должны быть очень большими. Например, 3,14159, 0,1 и -273,158.

  • Bool - Представляет логическое значение, которое может быть истинным или ложным.

  • String- Это упорядоченный набор персонажей. Например, «Привет, мир!»

  • Character- Это односимвольный строковый литерал. Например, «C»

  • Optional - Это представляет собой переменную, которая может содержать значение или не иметь значения.

  • Tuples - Используется для группировки нескольких значений в одно составное значение.

Мы перечислили здесь несколько важных моментов, связанных с целочисленными типами:

  • На 32-битной платформе Int имеет тот же размер, что и Int32.

  • На 64-битной платформе Int имеет тот же размер, что и Int64.

  • На 32-битной платформе UInt имеет тот же размер, что и UInt32.

  • На 64-битной платформе UInt имеет тот же размер, что и UInt64.

  • Int8, Int16, Int32, Int64 могут использоваться для представления 8-битных, 16-битных, 32-битных и 64-битных форм целого числа со знаком.

  • UInt8, UInt16, UInt32 и UInt64 могут использоваться для представления 8-битных, 16-битных, 32-битных и 64-битных форм целых чисел без знака.

Связанные значения

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

Тип Типичная битовая ширина Типичный диапазон
Int8 1 байт От -127 до 127
UInt8 1 байт От 0 до 255
Int32 4 байта От -2147483648 до 2147483647
UInt32 4 байта 0 на 4294967295
Int64 8 байтов От -9223372036854775808 до 9223372036854775807
UInt64 8 байтов 0 в 18446744073709551615
Плавать 4 байта От 1.2E-38 до 3.4E + 38 (~ 6 цифр)
Двойной 8 байтов 2.3E-308 до 1.7E + 308 (~ 15 цифр)

Типовые псевдонимы

Вы можете создать новое имя для существующего типа, используя typealias. Вот простой синтаксис для определения нового типа с использованием typealias -

typealias newname = type

Например, следующая строка указывает компилятору, что Feet другое имя для Int -

typealias Feet = Int

Теперь следующее объявление совершенно законно и создает целочисленную переменную с именем distance -

typealias Feet = Int
var distance: Feet = 100
print(distance)

Когда мы запускаем указанную выше программу с помощью игровой площадки, мы получаем следующий результат.

100

Тип Безопасность

Swift 4 - это типобезопасный язык, что означает, что если часть вашего кода ожидает String, вы не можете передать ей Int по ошибке.

Поскольку Swift 4 является типобезопасным, он выполняет проверки типов при компиляции вашего кода и помечает любые несовпадающие типы как ошибки.

var varA = 42
varA = "This is hello"
print(varA)

Когда мы компилируем вышеуказанную программу, она выдает следующую ошибку времени компиляции.

main.swift:2:8: error: cannot assign value of type 'String' to type 'Int'
varA = "This is hello"

Вывод типа

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

// varA is inferred to be of type Int
var varA = 42
print(varA)

// varB is inferred to be of type Double
var varB = 3.14159
print(varB)

// varC is also inferred to be of type Double
var varC = 3 + 0.14159
print(varC)

Когда мы запускаем вышеуказанную программу с помощью игровой площадки, мы получаем следующий результат:

42
3.14159
3.14159