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

by moiseevrus

 

Данные в swift

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

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

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

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

Int или 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 – представляет собой логическое значение true или false.

Строка (String) – это упорядоченная коллекция символов. Например, ” Здравствуй, Мир!”

Символьный (char)  – это односимвольный строковый литерал. Например, “C”

 

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

  • On a 32-bit platform, Int is the same size as Int32.
  • On a 64-bit platform, Int is the same size as Int64.
  • On a 32-bit platform, UInt is the same size as UInt32.
  • On a 64-bit platform, UInt is the same size as UInt64.
  • Int8, Int16, Int32, Int64 can be used to represent 8 Bit, 16 Bit, 32 Bit, and 64 Bit forms of signed integer.
  • UInt8, UInt16, UInt32, and UInt64 can be used to represent 8 Bit, 16 Bit, 32 Bit and 64 Bit forms of unsigned integer.

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

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

Type Typical Bit Width Typical Range
Int8 1byte -127 to 127
UInt8 1byte 0 to 255
Int32 4bytes -2147483648 to 2147483647
UInt32 4bytes 0 to 4294967295
Int64 8bytes -9223372036854775808 to 9223372036854775807
UInt64 8bytes 0 to 18446744073709551615
Float 4bytes 1.2E-38 to 3.4E+38 (~6 digits)
Double 8bytes 2.3E-308 to 1.7E+308 (~15 digits)

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

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

typealias newname = type

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

typealias Feet = Int

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

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

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

100

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

Swift 4-это типобезопасный язык, который означает, что если часть вашего кода в строковых данных, то вы не можете передать в него 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)
Когда мы запускаем вышеуказанную программу с помощью playground, мы получаем следующий результат
42
3.14159
3.14159


 




			
            
			        

You may also like

Leave a Comment