English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans ce tutoriel, vous découvrirez les différents types de données pris en charge par le langage de programmation Swift et comment les utiliser lors de la création de variables ou de constantes.
Le type de données est le type de données (valeur) dans lequel une variable ou une constante peut être stockée. Par exemple, dans l'articleVariables et constantes Swift,vous avez créé une variable et une constante pour stocker les données de chaîne dans la mémoire.
Les données peuvent être du texte/Une chaîne de caractères ("Hello") ou un nombre (12.45) peut également être un bit (0&1)。Définir le type de données permet de s'assurer que seules les données du type défini sont stockées.
Laissez-nous examiner une scène :
Supposons que vous créiez un jeu. Comme la plupart des jeux affichent le score élevé et le nom du joueur à la fin du jeu, vous devez stocker ces deux données pour le jeu.
Le score élevé (highScore) est un nombre (par exemple 59),le nom du joueur (playerName) est une chaîne de caractères (par exemple Jack). Vous pouvez créer deux variables ou constantes pour stocker des données.
En Swift, cela peut être fait en déclarant la variable et le type de données :
var highScore:Int = 59 var playerName:String = "Jack"
Ici, nous avons déclaré une variable HighScore de type Int, qui stocke la valeur59。 Et la variable de type chaîne de caractères stockant la valeur Jack, playerName.
Mais, si vous effectuez l'opération suivante :
var highScore:Int = "Jack"
Vous obtiendrez une erreur de compilation, qui lève Impossible de convertir la valeur de type 'String' en type 'Int' spécifié.
Cela est dû au fait que vous avez déclaré highScore pour stocker une valeur entière, mais vous y avez placé une chaîne de caractères. Cette erreur assure que highScore ne peut stocker qu'un nombre et non le nom du joueur.
Un autre aspect important des types de données est leur taille. Cela spécifie la taille des données que l'on peut stocker dans une variable ou une constante donnée.
La taille du type est mesurée en bits, et elle peut stocker au maximum 2bits。Si vous connaissez le Bit(bit),vous pouvez l'imaginer comme un 0 ou1valeur。
Par conséquent, pourType taille = 1 bit, il ne peut stocker au maximum que 2 1 = 2,deux valeurs : 0 ou 1。Par conséquent, le programme alphabétique1le système de bits peut interpréter 0 comme a/0, et1comme b/1.0。
0 -> a ou 0 1 -> b ou 1
De même, le système à deux bits peut stocker au maximum2 2 = 4valeur : (00,01,10,11),chaque combinaison peut être représentée par :
00 -> a ou 0 01 -> b ou 1 11 -> c ou 2 10 -> d ou 3
Pour le système de bits, il peut stocker au maximum2 n valeursvaleur
Voici une liste des types de données les plus courants dans Swift :
Variable déclarée en tant que type Bool/Les constantes ne peuvent stocker que deux valeurs true ou false.
valeur par défaut:false
lors du traitement if-la phrase else est souvent utilisée. Vous pouvez consulter l'article Swift if else.
let result:Bool = true print(result)
Lors de l'exécution du programme, la sortie est :
true
Variable déclarée en tant que type entier/Les constantes peuvent stocker des nombres entiers, positifs et négatifs, y compris zéro, sans partie décimale.
valeur par défaut:0
Taille:32/64Nombre de bits dépend du type de plateforme.
plage de valeurs:-2,147,483,648 à 2,147,483,647(32Nombre de bits dépendant de la plateforme)
-9223372036854775808 à 9223372036854775807(64Nombre de bits dépendant de la plateforme)
Il existe encore de nombreuses variantes du type Integer, telles que UInt, Int8,Int16Vous utilisez le plus souvent Int.
Si vous devez spécifier une variable/La taille des entiers que peuvent contenir les constantes/Les types de données, vous pouvez utiliser UInt, Int8、Int16Pour les stocker plus précisément, nous en parlerons ci-dessous.
var highScore:Int = 100 print(highScore) highScore = -100 print(highScore)
Lors de l'exécution du programme, la sortie est :
100 -100
Dans l'exemple précédent, nous avons déclaré une variable highScore de type Int. Tout d'abord, nous l'avons affectée à100, donc print (highScore) s'affiche sur l'écran100.
Plus tard, nous utilisons l'opérateur d'affectation highScore =-100 et changez la valeur en -100, donc, en affichant (highScore) output-100.
Voyons quelques variantes du type Int dans Swift.
Est une variante du type de données entier qui peut stocker des nombres positifs et négatifs.
valeur par défaut:0
Taille:8Bits
gamme:-128 à 127
Un Int8Un nombre peut stocker au total2 8 =(256) valeurs. C'est-à-dire qu'il peut stocker de 255Entre les nombres.
Mais en raison de Int8 Incluant des nombres positifs et négatifs, nous pouvons stocker des nombres de-128à127Les nombres, y compris 0, totalisent256valeur ou nombre.
var highScore:Int8 = -128//Correct highScore = 127 //Correct highScore = 128 //Erreur highScore = -129 //Erreur
Vous pouvez également utiliser Fonction Swift Les fonctions intégrées .min et .max peuvent trouver les valeurs maximales et minimales que peut stocker le type.
Exemple3:valeur maximale et minimale de Int8Type de données
print(Int8.min) print(Int8.max)
Lors de l'exécution du programme, la sortie est :
-128 127
Les variantes des types de données entiers, appelées UInt (entiers non signés), ne peuvent stocker que des nombres non signés (valeurs positives ou nulles).
valeur par défaut:0
Taille:32/64Nombre de bits dépend du type de plateforme.
gamme:0 à 4294967295(32Nombre de bits dépendant de la plateforme)
0 à 18446744073709551615(64Nombre de bits dépendant de la plateforme)
Exemple4Type de données UInt
var highScore:UInt = 100 highScore = -100 //Erreur de compilation lors de la tentative d'exécution de l'opération suivante
Le code ci-dessus génère une erreur de compilation car les entiers non signés ne peuvent stocker que 0 ou des valeurs positives. Essayez de stocker une valeur négative dans un entier non signé vous donnera une erreur.
Les variables ou constantes de type flottant peuvent stocker des nombres avec des points décimaux ou des nombres avec des points décimaux.
valeur par défaut0.0
Taille:32Nombre à virgule flottante.
gamme:1.2 * 10 -38à3.4 * 10 38(~6Nombre de bits)
let highScore:Float = 100.232 print(highScore)
Lors de l'exécution du programme, la sortie est :
100.232
Déclarer une variable de type Double/Les constantes avec point décimal ou des nombres avec point décimal sont également stockés comme Float, mais avec un point décimal plus grand que celui supporté par Float.
valeur par défaut0.0
Taille:64Un nombre à virgule flottante.(Par conséquent, une variable de type Double peut stocker des nombres avec des décimales ou des nombres dont le point décimal dépasse la capacité de Float)
gamme:2.3×10 -308~1.7 * 10 308(~15bits)
let highScore:Double = 100.232321212121 print(highScore)
Lors de l'exécution du programme, la sortie est :
100.232321212121
Déclarer une variable/Les constantes peuvent stocker des littéraux de chaînes de caractères uniques.
Vous pouvez utiliser la séquence d'échappement \u{n} (caractère Unicode, n est représenté en hexadécimal) dans Swift pour utiliser des emojis ou des langues autres que l'anglais en tant que caractères.
let playerName:Character = "J" let playerNameWithUnicode:Character = "\u{134" print(playerName) print(playerNameWithUnicode)
Lors de l'exécution du programme, la sortie est :
J Ĵ
Les variables ou les constantes déclarées comme String peuvent stocker un ensemble de caractères.
valeur par défaut:""(chaîne vide)
C'est un type de valeur.
Vous pouvez utiliser for-dans la boucle itérative des chaînes de caractères.référenceSwift for-dans la boucle.
Swift prend également en charge certaines séquences d'échappement spéciales pour les utiliser dans les chaînes de caractères. Par exemple,
\0 (caractère de fin de chaîne),
\\(un simple的反斜杠\),
\t (tabulation),
\v (étiquette verticale),
\r (retour chariot),
\" (guillemet double),
\' (guillemet simple), et
\u{n} (chaîne Unicode, n est représenté en hexadécimal).
let playerName = "Jack" let playerNameWithQuotes = "\"Jack\"" let playerNameWithUnicode = "\u{134}ack" print(playerName) print(playerNameWithQuotes) print(playerNameWithUnicode)
Lors de l'exécution du programme, la sortie est :
Jack "Jack" Ĵack
Veuillez vous référer àSwift caractères et chaînes de caractères,Pour en savoir plus sur les déclarations, les opérations et les exemples de caractères et de chaînes de caractères, consultez.
En plus de ce type de données, Swift comporte d'autres types de données avancés, tels que tuple,optional,range,class,structure Vous en apprendrez davantage à ce sujet dans les chapitres suivants.
1En raison que Swift est un langage de typage inféré, les variables ou les constantes peuvent être inférées automatiquement à partir des valeurs stockées. Par conséquent, vous pouvez sauter le type lors de la création de variables ou de constantes. Cependant, il est recommandé de ne pas le faire pour des raisons de lisibilité.
Exemple9:Variables avec inférence de type/Constantes
let playerName = "Jack" print(playerName)
Le compilateur Swift peut déduire automatiquement le type de la variable en fonction de sa valeur.
2. Swift est un langage de type sécurisé. Si vous définissez une variable de type, vous ne pouvez pas utiliser d'autres types de données pour la modifier par la suite.
Exemple10:Swift est un langage de type sécurisé
let playerName: String playerName = 55 //Erreur à la compilation
Le code suivant produira une erreur car nous avons déjà spécifié que la variable playerName sera de type String. Par conséquent, nous ne pouvons pas y stocker un entier.