Tipos de datos de Swift
Cuando usamos ningún tipo de programación lenguaje de programación, es necesario utilizar una variedad de tipos de datos para almacenar información diferente.
El tipo de datos de la variable determina el modo de memoria de bit estos valores en la memoria del ordenador. También puede especificar el tipo de datos cuando se declara una variable.
Todas las variables tienen el tipo de datos para determinar qué datos pueden ser almacenados.
Incorporado en los tipos de datos
Swift ofrece una muy rica tipos de datos, aquí hay varios tipos de datos de uso común:
Int
En general, no es necesario que designe específicamente enteros de longitud. Swift proporciona un tipo entero especial Int
, la longitud del vocabulario original y la misma longitud plataforma actual:
- En las plataformas de 32 bits,
Int
yInt32
misma longitud. - En las plataformas de 64 bits,
Int
yInt64
misma longitud.
A menos que necesite un número entero longitud específica, de uso general Int
suficiente. Esto puede mejorar la consistencia y la reutilización de código. Incluso en las plataformas de 32 bits, Int
rango de números enteros que pueden almacenarse puede llegar -2,147,483,648
~ 2,147,483,647
, la mayoría de las veces esto es ya lo suficientemente grande.
UInt
Swift también ofrece un tipo sin signo especial UInt
, la longitud del vocabulario original y la misma longitud plataforma actual:
- En las plataformas de 32 bits,
UInt
yUInt32
misma longitud. - En las plataformas de 64 bits,
UInt
yUInt64
misma longitud.
Nota:
Trate de no usarUInt
, a menos que realmente necesita para almacenar una plataforma actual y el vocabulario original de la misma longitud entero sin signo. Además de esto, es preferible utilizarInt
, incluso si desea almacenar el valor de una conocida no negativo. uso unificadoInt
puede mejorar la reutilización del código, para evitar la conversión entre diferentes tipos de digitales, y el tipo de juego inferencia digital, consulte el tipo de seguridad y la inferencia de tipos .
flotador
Flotador es un número con una parte decimal, como 3.14159
, 0.1
y -273.15
.
Más ancha que la representación de un tipo de punto flotante de tipo entero que puede almacenar más de Int
números de tipo más grandes o más pequeños. ofertas Swift Ambos firmaron tipo de punto flotante:
-
Double
representan coma flotante de 64 bits. Cuando necesite almacenar un número de punto flotante grandes o muy alta precisión, por favor utilice este tipo. -
Float
representa un número de coma flotante de 32 bits. Menos precisión, entonces podemos utilizar este tipo.
Nota:
Double
precisión es muy alta, al menos 15 dígitos,Float
ocurrió sólo seis dígitos. Seleccione el rango de valores dependiendo de qué tipo es necesario abordar su código.
valor booleano
Swift tiene un tipo booleano básica (booleano), llamado Bool. valor booleano se refiere a la lógica de valor, ya que sólo pueden ser verdaderas o falsas. Swift tiene dos constantes booleano, verdadero y falso.
cadena
Cadena es un conjunto de secuencias de caracteres, tales como:
"Hello, World!"
carácter
Carácter se refiere a una sola letra, por ejemplo:
"C"
tipo opcional
Utilice el tipo opcional (opcionales) para manejar el caso pueden ser los valores que faltan. Tipo Opcional representa un valor o ningún valor.rango de valores
La siguiente tabla muestra el espacio mínimo y máximo de almacenamiento de los diferentes tipos de variables de memoria y tipos de variables:
tipo | Tamaño (bytes) | Valor de intervalo |
---|---|---|
INT8 | 1 byte | -127 A 127 |
uINT8 | 1 byte | 0-255 |
int32 | 4 bytes | Para -2147483648 2147483647 |
UInt32 | 4 bytes | 0-4294967295 |
Int64 | 8 bytes | Para -9223372036854775808 9223372036854775807 |
UInt64 | 8 bytes | 0-18446744073709551615 |
flotador | 4 bytes | 1.2E-38 a 3.4E + 38 (~ 6 dígitos) |
doble | 8 bytes | 2.3E-1.7E + 308 al 308 (~ 15 dígitos) |
typeAlias
Escriba un alias para el tipo actual define otro nombre, escriba el alias definido mediante el uso de palabras clave typealias. Sintaxis es la siguiente:
typealias newname = type
El ejemplo siguiente define los pies Tipo de alias Int:
typealias Feet = Int
Ahora, podemos definir un alias de variables:
import Cocoa typealias Feet = Int var distance: Feet = 100 print(distance)
Utilizamos el patio de recreo el programa anterior, la salida es:
100
tipo de seguridad
Swift es un tipo de lenguaje de seguridad (tipo de seguro).
Debido a que Swift es de tipo seguro, por lo que será el tipo de inspección (controles de tipo) a compilar el código, y no coinciden con el tipo de marca como un error. Esto le permite encontrar y corregir errores tempranos en el desarrollo de las veces.
import Cocoa var varA = 42 varA = "This is hello" print(varA)
El procedimiento anterior se dará en Xcode:
error: cannot assign value of type 'String' to type 'Int' varA = "This is hello"
El significado no puede ser cadena 'Cadena' asignado a la variable 'int'.
La inferencia de tipos
Cuando se tiene que tratar con diferentes tipos de valores, la verificación de tipos puede ayudar a evitar errores. Sin embargo, esto no quiere decir que cada vez que se declara constantes y variables que especificar explícitamente el tipo.
Si no se especifica explícitamente el tipo, Swift utiliza el tipo de inferencia (inferencia de tipos) para seleccionar el tipo apropiado.
Por ejemplo, si se le da una nueva valores constantes 42 y no indica el tipo, Swift se puede inferir el tipo Int constante, debido a que el valor inicial se asigna se ve como un entero:
let meaningOfLife = 42 // meaningOfLife 会被推测为 Int 类型
Del mismo modo, si usted no tiene que indicar el tipo de literales de punto flotante, Swift inferirá que quiere es doble:
let pi = 3.14159 // pi 会被推测为 Double 类型
Cuando un tipo de inferencia de punto flotante, Swift siempre elegirá en lugar de flotador doble.
Si la misma expresión de enteros y de coma flotante, se desprenderán de tipo doble:
let anotherPi = 3 + 0.14159 // anotherPi 会被推测为 Double 类型
El valor original de 3 no declara explícitamente el tipo, y la expresión no es un literal de coma flotante, la expresión se presume que el tipo doble.
Ejemplos
import Cocoa // varA 会被推测为 Int 类型 var varA = 42 print(varA) // varB 会被推测为 Double 类型 var varB = 3.14159 print(varB) // varC 也会被推测为 Double 类型 var varC = 3 + 0.14159 print(varC)
Aplicación del código anterior, la salida es:
42 3.14159 3.14159