Latest web development tutorials

Tipi di dati Swift

Quando usiamo alcuna programmazione linguaggio di programmazione, è necessario utilizzare una varietà di tipi di dati per memorizzare informazioni diverse.

Il tipo di dati della variabile determina come bit di memoria di questi valori nella memoria del computer. È inoltre possibile specificare il tipo di dati quando si dichiara una variabile.

Tutte le variabili hanno il tipo di dati per determinare quali dati possono essere memorizzati.


Built-in tipi di dati

Swift offre una ricchissima tipi di dati, qui ci sono diversi tipi di dati di uso comune:

Int

In generale, non è necessario designato specificamente interi di lunghezza. Swift fornisce uno speciale tipo intero Int , la lunghezza del vocabolario originale e la stessa lunghezza piattaforma corrente:

  • Sulle piattaforme a 32 bit, Int e Int32 stessa lunghezza.
  • Sulle piattaforme a 64-bit, Int e Int64 stessa lunghezza.

A meno che non avete bisogno di un intero lunghezza specifica, in uso generale Int abbastanza. Questo può migliorare la coerenza e la riusabilità del codice. Anche su piattaforme a 32-bit, Int campo dei numeri interi che possono essere immagazzinate può essere raggiunto -2,147,483,648 ~ 2,147,483,647 , il più delle volte questo è già abbastanza grande.

UInt

Swift offre anche una speciale tipo unsigned UInt , la lunghezza del vocabolario originale e la stessa lunghezza piattaforma corrente:

  • Sulle piattaforme a 32 bit, UInt e UInt32 stessa lunghezza.
  • Sulle piattaforme a 64-bit, UInt e UInt64 stessa lunghezza.

Nota:
Cercate di non usare UInt , a meno che non si ha realmente bisogno di memorizzare una piattaforma corrente e il vocabolario originale del numero intero senza segno stessa lunghezza. In aggiunta a questo, è preferibile utilizzare Int , anche se si desidera memorizzare il valore di una nota non negativo. uso unificata Int può migliorare la riusabilità del codice, al fine di evitare la conversione tra diversi tipi di digitale e digitale tipo di corrispondenza di inferenza, consultare il tipo di sicurezza e di inferenza di tipo .

galleggiante

Float è un numero con una parte decimale, ad esempio 3.14159 , 0.1 e -273.15 .

Più ampio del tipo di rappresentazione in virgola mobile di tipo intero che può memorizzare più di Int numeri di tipo più o meno grandi. offerte Swift due hanno firmato tipo floating-point:

  • Double rappresentano in virgola mobile a 64 bit. Quando avete bisogno di memorizzare il numero di grandi dimensioni o molto alta precisione in virgola mobile, si prega di utilizzare questo tipo.
  • Float rappresenta numero a virgola mobile a 32 bit. Meno di precisione, quindi siamo in grado di utilizzare questo tipo.

Nota:
Double precisione è molto elevato, almeno 15 cifre, Float è successo solo sei cifre. Selezionare l'intervallo di valori a seconda di quale digitare il codice devono essere affrontate.

valore booleano

Swift ha un tipo booleano base (booleano), chiamato Bool. valore booleano si riferisce al valore logico, perché possono essere solo vero o falso. Swift ha due costanti booleano, vero e falso.

stringa

String è un insieme di sequenze di caratteri, quali:

"Hello, World!"

carattere

Personaggio riferisce ad una singola lettera, per esempio:

"C"

tipo opzionale

Utilizzare il tipo opzionale (opzionali) per gestire il caso può essere valori mancanti. tipo opzionale rappresenta un valore o nessun valore.


campo di valori

La seguente tabella mostra lo spazio minimo e massimo stoccaggio di diversi tipi di variabili di memoria e tipi di variabili:

tipo Dimensioni (byte) Valore intervallo
int8 1 byte -127 A 127
uint8 1 byte 0-255
Int32 4 byte -2147483648 2147483647
UInt32 4 byte 0-4294967295
Int64 8 byte -9223372036854775808 Per 9223372036854775807
UInt64 8 byte 0-18446744073709551615
galleggiante 4 byte 1.2E-38 a 3.4E + 38 (~ 6 cifre)
doppio 8 byte 2.3E-308 a 1.7E + 308 (~ 15 cifre)

alias Tipo

Digitare un alias per il tipo di corrente definisce un altro nome, digitare l'alias definiti utilizzando typealias parola chiave. La sintassi è la seguente:

typealias newname = type

L'esempio seguente definisce i piedi tipo alias Int:

typealias Feet = Int

Ora, possiamo definire un alias di variabile:

import Cocoa

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

Usiamo il parco giochi del programma di cui sopra, l'output è:

100

tipo di protezione

Swift è un tipo di sicurezza (sicuro tipo) lingua.

Perché Swift è type-safe, quindi sarà il tipo di controllo (controlli di tipo) a compilare il codice, e non corrisponde al tipo di marchio come un errore. Ciò consente di trovare e correggere gli errori nelle prime fasi dello sviluppo del tempo.

import Cocoa

var varA = 42
varA = "This is hello"
print(varA)

La procedura di cui sopra sarà dato in Xcode:

error: cannot assign value of type 'String' to type 'Int'
varA = "This is hello"

Significato non può essere stringa 'stringa' assegnato alla variabile 'Int'.


L'inferenza di tipo

Quando si ha a che fare con diversi tipi di valori, il controllo di tipo può aiutare a evitare errori. Tuttavia, questo non significa che ogni volta che si dichiarano costanti e variabili hanno bisogno di specificare esplicitamente il tipo.

Se non si specifica esplicitamente il tipo, Swift utilizza il tipo di inferenza (inferenza) per selezionare il tipo appropriato.

Ad esempio, se si dà un nuovo valori costanti 42 e non indica il tipo, Swift può dedurre tipo costante Int, perché il valore iniziale si assegna appare come un numero intero:

let meaningOfLife = 42
// meaningOfLife 会被推测为 Int 类型

Allo stesso modo, se non c'è bisogno di indicare il tipo di letterali in virgola mobile, Swift dedurre che si desidera è doppio:

let pi = 3.14159
// pi 会被推测为 Double 类型

Quando un tipo in virgola mobile di inferenza, Swift sarà sempre scegliere al posto del doppio galleggiante.

Se la stessa espressione interi e in virgola mobile, si può dedurre doppio Tipo:

let anotherPi = 3 + 0.14159
// anotherPi 会被推测为 Double 类型

Il valore originario dei 3 non dichiara esplicitamente il tipo, e l'espressione c'è una virgola mobile letterale, l'espressione verrà presume che tipo Double.

Esempi

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)

L'attuazione del codice di cui sopra, l'output è:

42
3.14159
3.14159