English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo tutorial, imparerai i diversi tipi di dati supportati dal linguaggio di programmazione Swift e come usarli nella creazione di variabili o costanti.
Il tipo di dati è il tipo di dati (valore) che può essere memorizzato in una variabile o costante. Ad esempio, nell'articoloVariabili e costanti Swift, hai creato una variabile e una costante per memorizzare i dati di stringa nella memoria.
I dati possono essere testuali/strighe ("Hello") o numerici (12.45), o bit (0 & 1). Definire il tipo di dati garantisce che vengano memorizzati solo i tipi di dati definiti.
Vediamo una scena:
Supponiamo di voler creare un gioco. Poiché la maggior parte dei giochi mostra il punteggio più alto e il nome del giocatore alla fine del gioco, hai bisogno di memorizzare questi due dati per il gioco.
Il punteggio più alto (highScore) è un numero (ad esempio 59), il nome del giocatore (playerName) è una stringa (ad esempio Jack). Puoi creare due variabili o costanti per memorizzare i dati.
In Swift, questo può essere fatto dichiarando le variabili e i tipi di dati:
var highScore: Int = 59 var playerName: String = "Jack"
Qui abbiamo dichiarato una variabile di tipo Int chiamata HighScore che memorizza il valore 59. E una variabile di tipo String chiamata playerName che memorizza il valore Jack.
Ma se esegui la seguente operazione:
var highScore: Int = "Jack"
Otterrai un errore di compilazione, lanciando Impossibile convertire il valore di tipo 'String' nel tipo 'Int' specificato.
Questo è perché hai dichiarato highScore per memorizzare un valore intero, ma ci hai messo una stringa. Questo errore garantisce che highScore possa memorizzare solo un numero e non il nome del giocatore.
Un'altra parte importante del tipo di dati è la sua dimensione. Questo specifica la dimensione dei dati che può essere memorizzata in una variabile o costante data.
La dimensione del tipo è misurata in bit, può memorizzare al massimo 2bits. Se conosci il Bit (bit), puoi immaginarlo come un valore 0 o 1.
Quindi, perTipo size = 1 bit, può memorizzare al massimo 2 1 = 2 valori: 0 o 1. Pertanto, il sistema a uno bit del programma può interpretare 0 come a/0 e 1 come b/1.0.
0 -> a o 0 1 -> b o 1
Allo stesso modo, il sistema a due bit può memorizzare al massimo2 2 = 4 valori: (00,01,10,11), ogni combinazione può essere rappresentata come:
00 -> a o 0 01 -> b o 1 11 -> c o 2 10 -> d o 3
Per il sistema a bit, può memorizzare al massimo2 n valoriValore.
Di seguito è riportato l'elenco dei tipi di dati più utilizzati in Swift:
Le variabili o costanti dichiarate come tipo Bool possono memorizzare solo due valori: true o false.
Valore predefinito: false
Vengono spesso utilizzati per gestire le istruzioni if-else. Per ulteriori informazioni, consulta l'articolo Swift if else.
let result: Bool = true print(result)
Quando si esegue il programma, l'output è:
true
Le variabili o costanti dichiarate come tipo intero possono memorizzare numeri interi positivi e negativi, inclusi zero, senza parte decimale.
Valore predefinito:0
dimensione:32/64-bit a seconda del tipo di piattaforma.
Intervallo di valori: -2,147,483,648 a 2,147,483,647 (sul piattaforma a 32 bit)
-9223372036854775808 a 9223372036854775807 (sul piattaforma a 64 bit)
Ci sono molte varianti del tipo Integer, come UInt, Int8, Int16, tra cui il più utilizzato è Int.
Se hai bisogno di specificare la dimensione o il tipo di intero che una variabile o costante può contenere, puoi utilizzare UInt, Int8, Int16 per memorizzarlo in modo più specifico, queste informazioni saranno introdotte di seguito.
var highScore: Int = 100 print(highScore) highScore = -100 print(highScore)
Quando si esegue il programma, l'output è:
100 -100
Nell'esempio sopra, abbiamo dichiarato una variabile di tipo Int chiamata highScore. Prima di tutto, l'abbiamo assegnato un valore di 100, quindi print (highScore) ha outputto 100 sullo schermo.
Successivamente, abbiamo utilizzato l'operatore di assegnazione highScore = -100 per modificare il valore in -100, quindi, abbiamo stampato (highScore) output-100 sullo schermo.
Vediamo alcune varianti del tipo di dati Int nel SWIFT.
Una variante del tipo di dati intero che può memorizzare numeri positivi e negativi.
Valore predefinito:0
dimensione:8-bit
intervallo:-128 a 127
Un intero Int8 può memorizzare in totale 2 8 =(256) valori. Questo significa che può memorizzare numeri da 0 a 255.
Ma poiché Int8 include numeri positivi e negativi, possiamo memorizzare numeri da -128 a 127, inclusi 0, per un totale di 256 valori o numeri.
var highScore:Int8 = -128// corretto highScore = 127 // corretto highScore = 128 // errore highScore = -129 // errore
Puoi anche usare Funzione Swift I metodi .min e .max integrati trovano i valori massimi e minimi che può memorizzare il tipo.
Esempio 3: tipo di dati Int8 massimi e minimi
print(Int8.min) print(Int8.max)
Quando si esegue il programma, l'output è:
-128 127
Una variante del tipo di dati intero chiamata UInt (unsigned integer) può memorizzare solo numeri senza segno (valori positivi o zero).
Valore predefinito:0
dimensione:32/64-bit a seconda del tipo di piattaforma.
intervallo:0 a 4294967295 (platforma 32-bit)
0 a 18446744073709551615 (platforma 64-bit)
Esempio 4: tipo di dati UInt
var highScore:UInt = 100 highScore = -100 // errore di compilazione quando si esegue l'operazione seguente
Il codice sopra genererà un errore di compilazione perché gli interi senza segno possono memorizzare solo 0 o valori positivi. Tentare di memorizzare un valore negativo negli interi senza segno genererà un errore.
Le variabili o costanti dichiarate come floating point possono memorizzare numeri con virgola mobile o con virgola mobile.
Valore predefinito:0.0
dimensione:32-bit floating point number.
intervallo:1.2 * 10 -38a 3.4 * 10 38(〜6 cifre)
let highScore:Float = 100.232 print(highScore)
Quando si esegue il programma, l'output è:
100.232
Le variabili o costanti dichiarate come Double也将带小数点或带小数点的数字存储为Float,但支持更大的小数点。
Valore predefinito:0.0
dimensione:64-bit floating point number. (Pertanto, le variabili di tipo Double possono memorizzare numeri con virgola mobile o con virgola mobile maggiore rispetto a quella supportata da Float)
intervallo2.3×10 -308~1.7 * 10 308(~15 cifre)
let highScore:Double = 100.232321212121 print(highScore)
Quando si esegue il programma, l'output è:
100.232321212121
Le variabili o le costanti dichiarate come tipo Character possono memorizzare un'unità di stringa letterale.
Puoi usare la sequenza di escape \u{n} (carattere Unicode, n espresso in esadecimale) in Swift per usare emoji o lingue diverse dall'inglese come caratteri.
let playerName:Character = "J" let playerNameWithUnicode:Character = "\u{134}" print(playerName) print(playerNameWithUnicode)
Quando si esegue il programma, l'output è:
J Ĵ
Le variabili o le costanti dichiarate come tipo String possono memorizzare un insieme di caratteri.
Valore predefinito:""(stringa vuota)
È di tipo valore.
Puoi usare un ciclo for-in per percorrere una stringa.RiferimentoSwiftfor-in循环.
Swift supporta anche alcune sequenze di escape speciali per usarle nelle stringhe. Ad esempio,
\0 (carattere nullo),
\\\ (backslash normale\),
\t (tabulazione),
\v (etichetta verticale),
\r (return),
\" (apice doppio),
\' (apice singolo), e
\u{n} (stringa Unicode, n espressa in esadecimale).
letplayerName="Jack" let playerNameWithQuotes = "\"Jack\"" let playerNameWithUnicode = "\u{134}ack" print(playerName) print(playerNameWithQuotes) print(playerNameWithUnicode)
Quando si esegue il programma, l'output è:
Jack "Jack" Ĵack
RiferimentoSwift caratteri e stringhe,per ulteriori informazioni sulla dichiarazione, le operazioni e gli esempi di caratteri e stringhe.
Oltre a questo tipo di dati, Swift ha altri tipi di dati avanzati, come tuple,optional,range,class,structure 等。Inizierai a imparare in seguito.
1. Poiché Swift è un linguaggio di inferenza di tipo, le variabili o le costanti possono inferire automaticamente il tipo dal valore memorizzato. Pertanto, puoi saltare il tipo durante la creazione di variabili o costanti. Tuttavia, puoi considerare di scrivere il tipo per la leggibilità, ma non è raccomandato farlo.
示例9:类型推断的变量/常量
letplayerName="Jack" print(playerName)
Swift编译器可以根据其值自动推断该变量为String类型。
2.Swift是一种类型安全的语言。如果将变量定义为某种类型,则以后不能使用其他数据类型进行更改。
示例10:Swift是一种类型安全的语言
letplayerName:String playerName=55//编译时间错误
上面的代码将产生一个错误,因为我们已经指定变量playerName将为String。因此我们无法在其中存储一个整数。