Tipos de Dados Swift
Quando usamos qualquer tipo de programação linguagem de programação, você precisa usar uma variedade de tipos de dados para armazenar informações diferentes.
O tipo de dados da variável determina como a memória bit estes valores na memória do computador. Você também pode especificar o tipo de dados quando você declarar uma variável.
Todas as variáveis têm o tipo de dados para determinar quais os dados podem ser armazenados.
Built-in tipos de dados
Swift fornece uma rica tipos de dados, aqui estão vários tipos de dados comumente usados:
int
Geralmente, você não precisa designado especificamente inteiros de comprimento. Swift fornece um tipo especial inteiro Int
, o comprimento do vocabulário original e o mesmo comprimento da plataforma de corrente:
- Em plataformas de 32 bits,
Int
eInt32
mesmo comprimento. - Em plataformas de 64 bits,
Int
eInt64
mesmo comprimento.
A menos que você precisa de um número inteiro comprimento específico, no uso geral Int
suficiente. Isso pode melhorar a consistência e reutilização de código. Mesmo em plataformas de 32 bits, Int
intervalo inteiro que pode ser armazenado pode ser alcançado -2,147,483,648
~ 2,147,483,647
, a maior parte do tempo, esta é já suficientemente grande.
uint
Swift também oferece um tipo sem sinal especial UInt
, o comprimento do vocabulário original e o mesmo comprimento da plataforma de corrente:
- Em plataformas de 32 bits,
UInt
eUInt32
mesmo comprimento. - Em plataformas de 64 bits,
UInt
eUInt64
mesmo comprimento.
Nota:
Tente não usarUInt
, a menos que você realmente precisa para armazenar uma plataforma atual e vocabulário original do inteiro sem sinal mesmo comprimento. Em adição a isto, é preferível utilizarInt
, mesmo se quiser armazenar o valor de uma conhecida não-negativo. utilização unificadaInt
pode melhorar a reutilização do código, para evitar a conversão entre diferentes tipos de digital e digital de tipo de correspondência inferência, consulte o tipo de segurança e inferência de tipos .
flutuador
Float é um número com uma parte decimal, como 3.14159
, 0.1
e -273.15
.
Mais ampla do que a representação tipo de ponto flutuante do tipo inteiro que pode armazenar mais de Int
tipo números maiores ou menores. ofertas Swift dois assinaram tipo de ponto flutuante:
-
Double
representam ponto flutuante de 64 bits. Quando você precisa para armazenar grande número ou muito alta precisão de ponto flutuante, use este tipo. -
Float
representa o número de ponto flutuante de 32 bits. Menos de precisão, então podemos usar este tipo.
Nota:
Double
precisão é muito elevado, pelo menos 15 dígitos,Float
aconteceu apenas seis dígitos. Selecione o intervalo de valores dependendo do tipo precisam ser abordadas seu código.
valor booleano
Swift tem um tipo booleano básica (Boolean), chamado Bool. valor booleano refere-se à lógica de valor, porque eles só podem ser verdadeiras ou falsas. Swift tem dois constante booleana, o verdadeiro eo falso.
corda
String é um conjunto de sequências de caracteres, tais como:
"Hello, World!"
personagem
Caráter refere-se a uma única letra, por exemplo:
"C"
tipo opcional
Use o tipo de opcional (opcionais) para lidar com o caso os valores em falta. opcional tipo representa um valor ou nenhum valor.faixa de valores
A tabela a seguir mostra o espaço mínimo e máximo de armazenamento de diferentes tipos de variáveis de memória e tipos de variáveis:
tipo | Tamanho (bytes) | Valor intervalo |
---|---|---|
iNT8 | 1 byte | -127 A 127 |
uint8 | 1 byte | 0-255 |
Int32 | 4 bytes | -2147483648 A 2147483647 |
UInt32 | 4 bytes | 0-4294967295 |
Int64 | 8 bytes | -9223372036854775808 Para 9223372036854775807 |
UInt64 | 8 bytes | 0-18446744073709551615 |
flutuador | 4 bytes | 1.2E-38 a 3.4E + 38 (~ 6 dígitos) |
duplo | 8 bytes | 2.3E-308 a 1.7E + 308 (~ 15 dígitos) |
alias de tipo
Digite um alias para o tipo atual define um outro nome, digite o alias definido usando typealias palavra-chave. Sintaxe é como se segue:
typealias newname = type
O exemplo a seguir define os pés tipo de alias Int:
typealias Feet = Int
Agora, podemos definir um alias de variável:
import Cocoa typealias Feet = Int var distance: Feet = 100 print(distance)
Nós usamos o playground o programa acima, a saída é:
100
tipo de segurança
Swift é um tipo de linguagem de segurança (tipo seguro).
Porque Swift é de tipo seguro, por isso vai ser o tipo de inspeção (verificações de tipo) a compilar o código, e não combinam com o tipo de marca como um erro. Isto permite-lhe encontrar e corrigir erros no início do desenvolvimento do tempo.
import Cocoa var varA = 42 varA = "This is hello" print(varA)
O procedimento acima será dada no Xcode:
error: cannot assign value of type 'String' to type 'Int' varA = "This is hello"
Significado não pode ser string 'String' atribuído à variável 'int'.
inferência de tipos
Quando você tem que lidar com diferentes tipos de valores, a verificação de tipo pode ajudar a evitar erros. No entanto, isso não significa que toda vez que você declarar constantes e variáveis precisa especificar explicitamente o tipo.
Se você não especificar explicitamente o tipo, Swift usa o tipo de inferência (inferência de tipos) para selecionar o tipo apropriado.
Por exemplo, se você der um novo valor constante 42 e não indica o tipo, a Swift pode inferir tipo Int constante, porque o valor inicial que você atribua a ele se parece com um inteiro:
let meaningOfLife = 42 // meaningOfLife 会被推测为 Int 类型
Da mesma forma, se você não tem que indicar o tipo de literais de ponto flutuante, Swift irá inferir que você quer é duplo:
let pi = 3.14159 // pi 会被推测为 Double 类型
Quando um tipo de inferência de ponto flutuante, Swift vai sempre escolher em vez de flutuante duplo.
Se a mesma expressão como inteiro e ponto flutuante, serão inferidos tipo Double:
let anotherPi = 3 + 0.14159 // anotherPi 会被推测为 Double 类型
O valor original de 3 de não declarar explicitamente o tipo, ea expressão não é um ponto flutuante literal, a expressão será presumido que tipo Double.
Exemplos
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)
Implementação do código acima, a saída é:
42 3.14159 3.14159