Latest web development tutorials

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 y Int32 misma longitud.
  • En las plataformas de 64 bits, Int y Int64 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 y UInt32 misma longitud.
  • En las plataformas de 64 bits, UInt y UInt64 misma longitud.

Nota:
Trate de no usar UInt , 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 utilizar Int , incluso si desea almacenar el valor de una conocida no negativo. uso unificado Int 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