Swift - Tipi di dati
Durante la programmazione in qualsiasi linguaggio di programmazione, è necessario utilizzare diversi tipi di variabili per memorizzare le informazioni. Le variabili non sono altro che posizioni di memoria riservate per memorizzare i valori. Ciò significa che quando crei una variabile, riservi dello spazio in memoria.
Potresti voler memorizzare informazioni di vari tipi di dati come stringa, carattere, carattere largo, intero, virgola mobile, booleano, ecc. In base al tipo di dati di una variabile, il sistema operativo alloca memoria e decide cosa può essere memorizzato nel riservato memoria.
Tipi di dati incorporati
Swift 4 offre al programmatore un ricco assortimento di tipi di dati integrati e definiti dall'utente. I seguenti tipi di tipi di dati di base sono più frequentemente quando si dichiarano le variabili:
Int or UInt- Viene utilizzato per i numeri interi. Più specificamente, è possibile usare Int32, Int64 per definire interi con segno a 32 o 64 bit, mentre UInt32 o UInt64 per definire variabili intere senza segno a 32 o 64 bit. Ad esempio, 42 e -23.
Float- Viene utilizzato per rappresentare un numero a virgola mobile a 32 bit e numeri con punti decimali più piccoli. Ad esempio, 3.14159, 0.1 e -273.158.
Double- Viene utilizzato per rappresentare un numero in virgola mobile a 64 bit e utilizzato quando i valori in virgola mobile devono essere molto grandi. Ad esempio, 3.14159, 0.1 e -273.158.
Bool - Questo rappresenta un valore booleano che è vero o falso.
String- Questa è una raccolta ordinata di personaggi. Ad esempio, "Hello, World!"
Character- Si tratta di una stringa letterale a un carattere. Ad esempio, "C"
Optional - Questo rappresenta una variabile che può contenere un valore o nessun valore.
Tuples - Viene utilizzato per raggruppare più valori in un singolo valore composto.
Abbiamo elencato qui alcuni punti importanti relativi ai tipi Integer:
In una piattaforma a 32 bit, Int ha le stesse dimensioni di Int32.
In una piattaforma a 64 bit, Int ha le stesse dimensioni di Int64.
Su una piattaforma a 32 bit, UInt ha le stesse dimensioni di UInt32.
Su una piattaforma a 64 bit, UInt ha le stesse dimensioni di UInt64.
Int8, Int16, Int32, Int64 possono essere usati per rappresentare forme di numero intero con segno a 8 bit, 16 bit, 32 bit e 64 bit.
UInt8, UInt16, UInt32 e UInt64 possono essere utilizzati per rappresentare forme di numero intero senza segno a 8 bit, 16 bit, 32 bit e 64 bit.
Valori vincolati
La tabella seguente mostra il tipo di variabile, la quantità di memoria necessaria per memorizzare il valore in memoria e qual è il valore massimo e minimo che può essere memorizzato in tale tipo di variabili.
genere | Larghezza bit tipica | Gamma tipica |
---|---|---|
Int8 | 1 byte | Da -127 a 127 |
UInt8 | 1 byte | Da 0 a 255 |
Int32 | 4 byte | -2147483648 a 2147483647 |
UInt32 | 4 byte | 0 a 4294967295 |
Int64 | 8 byte | -9223372036854775808 a 9223372036854775807 |
UInt64 | 8 byte | 0 a 18446744073709551615 |
Galleggiante | 4 byte | Da 1.2E-38 a 3.4E + 38 (~ 6 cifre) |
Doppio | 8 byte | Da 2.3E-308 a 1.7E + 308 (~ 15 cifre) |
Digitare Alias
È possibile creare un nuovo nome per un tipo esistente utilizzando typealias. Ecco la semplice sintassi per definire un nuovo tipo usando typealias -
typealias newname = type
Ad esempio, la riga seguente indica al compilatore che Feet è un altro nome per Int -
typealias Feet = Int
Ora, la seguente dichiarazione è perfettamente legale e crea una variabile intera chiamata distanza -
typealias Feet = Int
var distance: Feet = 100
print(distance)
Quando eseguiamo il programma precedente usando playground, otteniamo il seguente risultato.
100
Tipo di sicurezza
Swift 4 è un linguaggio indipendente dai tipi, il che significa che se una parte del tuo codice si aspetta una stringa, non puoi passarle un Int per errore.
Poiché Swift 4 è indipendente dai tipi, esegue controlli del tipo durante la compilazione del codice e contrassegna come errori eventuali tipi non corrispondenti.
var varA = 42
varA = "This is hello"
print(varA)
Quando compiliamo il programma sopra, produce il seguente errore in fase di compilazione.
main.swift:2:8: error: cannot assign value of type 'String' to type 'Int'
varA = "This is hello"
Digitare inferenza
L'inferenza del tipo consente a un compilatore di dedurre automaticamente il tipo di una particolare espressione quando compila il codice, semplicemente esaminando i valori forniti. Swift 4 utilizza l'inferenza del tipo per elaborare il tipo appropriato come segue.
// varA is inferred to be of type Int
var varA = 42
print(varA)
// varB is inferred to be of type Double
var varB = 3.14159
print(varB)
// varC is also inferred to be of type Double
var varC = 3 + 0.14159
print(varC)
Quando eseguiamo il programma precedente usando playground, otteniamo il seguente risultato:
42
3.14159
3.14159