Swift pone a disposición diferentes tipos de datos primitivos, su tratamiento es como un objeto con su métodos , propiedades y sus limitaciones.
Cadena
El tipo de datos de cadena se utiliza para representar datos textuales.
Usamos la palabra clave String para crear variables de tipo cadena.
Soporta carácteres unicode
var language: String = "Aprendiendo Sswift"
print(languagname)
// Output: Aprendiendo 2022swift
Enteros
Se utiliza un tipo de datos entero para representar un número entero sin componente fraccionario. Usamos la palabra clave Int para crear variables de tipo enter
// crear tipo entero
var number: Int = 3
print(number)
//Output: 3
El tamaño que ocupe en memoria depende de la plataforma:
- En plataformas de 32-bits,
Int
es del mismo tamaño queInt32
. - En plataformas de bits,
Int
es del mismo tamaño queInt64
. - En plataformas de 32-64 bits,
UInt
es del mismo tamaño queInt32
. - En plataformas de 64-bits,
UInt
es del mismo tamaño queInt64
.
Variantes de tipo entero
El tipo entero permite definir variantes para que se pueda definir su rango y si debe contener número con signo negativo o solo positivos.
Int8
Entero de 8bits, su rango es de -128 a 127
UInt8
Entero sin signo de 8 bits, su rango es de 0 a 256
Int16
Entero de 16bits, su rango es de -32768 a 32767
UInt16
Entero sin signo de 16 bits, su rango es de 0 a 65535
Int32
Entero de 32bits, su rango es de -2147483648 a 2147483647
UInt32
Entero sin signo de 32 bits, su rango es de 0 4294967295
Int64
Entero de 64bits, su rango es de -9223372036854775808 9223372036854775807
UInt64
Entero sin signo de 64 bits, su rango es de 0 a 18446744073709551615
Coma Flotante
Se utiliza un tipo de datos de coma flotante para rempresentar un número con décimales. Usamos la palabra clave Float para crear variables de tipo Float y Double para crear variables de tipo Double.
La diferencia de usar uno o el otro es la precisión del número de punto flotante que quremos almacenar.
Float
coma flotante de 32 bits. (6 dígitos decimales)Double
coma flotante de 64 bits. (15 dígitos decimales)
let numberPi: Float = 3.14
print(numberPi)
// Output: 3.14
let latitude: Double = 41.390205
let longitude: Double = 2.154007
print("Las coordenadas de latitud y longitud son \(latitude), \(longitude)")
Booleanos
Se utiliza un tipo de datos booleano para representar entidades lógicas. Usamos la palabra clave Bool para crear variables de tipo booleano.
Puede tener uno de dos valores: verdadero o falso
let passCheck: Bool = true
print(passCheck)
let failCheck: Bool = false
print(failCheck)
/*Output:
true
false
*/
Literales numéricos
Los literales enteros se pueden escribir como:
- Un número decimal, sin prefijo
- Un número binario, con un prefijo
0b
- Un número octal, con prefijo
0o
- Un número hexadecimal, con un prefijo
0x
Todos estos literales enteros tienen un valor decimal de 17:
let decimalInteger = 17
let binaryInteger = 0b10001 // 17 en notación binaria
let octalInteger = 0o21 // 17 en notación octal
let hexadecimalInteger = 0x11 // 17 en notación hexadecimal
Los literales numéricos pueden contener formato adicional para facilitar su lectura. Tanto los números enteros como los flotantes se pueden rellenar con ceros adicionales y pueden contener guiones bajos para ayudar con la legibilidad.
Ningún tipo de formato afecta el valor subyacente del literal:
let paddedDouble = 000123.456
let oneMillion = 1_000_000
let justOverOneMillion = 1_000_000.000_000_1