Latest web development tutorials

Types de données Swift

Lorsque nous utilisons toute la programmation de langage de programmation, vous avez besoin d'utiliser une variété de types de données pour stocker des informations différentes.

Le type de la variable de données détermine comment la mémoire de bits de ces valeurs dans la mémoire de l'ordinateur. Vous pouvez également spécifier le type de données lorsque vous déclarez une variable.

Toutes les variables ont le type de données pour déterminer lequel des données peuvent être stockées.


Built-in types de données

Swift offre une très riche types de données, voici plusieurs types de données couramment utilisés:

Int

Généralement, vous ne devez pas spécifiquement désigné les entiers de longueur. Swift fournit un type entier spécial Int , la longueur du vocabulaire initial et le courant de même longueur de la plate - forme:

  • Sur les plates - formes 32 bits, Int et Int32 même longueur.
  • Sur les plates - formes 64 bits, Int et Int64 même longueur.

Sauf si vous avez besoin d' un nombre entier de longueur spécifique, d'usage général Int assez. Cela peut améliorer la cohérence et la réutilisabilité du code. Même sur les plates - formes 32 bits, Int gamme entière qui peut être stocké peut être atteint -2,147,483,648 ~ 2,147,483,647 , la plupart du temps , cela est déjà assez grande.

UInt

Swift propose également un type sans signe spécial UInt , la longueur du vocabulaire initial et le courant de même longueur de la plate - forme:

  • Sur les plates - formes 32 bits, UInt et UInt32 même longueur.
  • Sur les plates - formes 64 bits, UInt et UInt64 même longueur.

Remarque:
Essayez de ne pas utiliser UInt , sauf si vous avez vraiment besoin de stocker une plate - forme actuelle et le vocabulaire original de l'entier non signé de même longueur. En plus de cela, il est préférable d'utiliser Int , même si vous voulez stocker la valeur d'une connue non-négative. utilisation unifiée Int peut améliorer la réutilisabilité du code, afin d' éviter la conversion entre les différents types de numérique et numérique inférence de type correspondant, consultez le type de sécurité et de l' inférence de type .

flotteur

Float est un nombre avec une partie décimale, comme 3.14159 , 0.1 et -273.15 .

Plus large que la virgule flottante représentation de type de type entier qui peut stocker plus de Int numéros de type plus ou moins. offres Swift deux signé de type virgule flottante:

  • Double représentent 64 bits à virgule flottante. Lorsque vous avez besoin de stocker de grandes ou très haute précision nombre à virgule flottante, s'il vous plaît utiliser ce type.
  • Float représente 32 bits nombre à virgule flottante. Moins de précision, alors nous pouvons utiliser ce type.

Remarque:
Double précision est très élevée, au moins 15 chiffres, Float passé seulement six chiffres. Sélectionnez la plage de valeurs en fonction du type de votre code doivent être abordées.

valeur booléenne

Swift a un type booléen de base (Boolean), appelé Bool. Valeur booléenne se réfère à la logique de la valeur, car ils ne peuvent être vraies ou fausses. Swift a deux constante booléenne, vrai et faux.

chaîne

String est un ensemble de séquences de caractères, tels que:

"Hello, World!"

caractère

Caractère se réfère à une seule lettre, par exemple:

"C"

Type facultatif

Utilisez le type en option (de optionals) pour traiter le cas échéant les valeurs manquantes. Type facultatif représente une valeur ou pas de valeur.


Plage de valeurs

Le tableau suivant présente l'espace de stockage minimum et maximum des différents types de variables de mémoire et types de variables:

type Taille (octets) Valeur Intervalle
int8 1 octet -127 À 127
UInt8 1 octet 0-255
Int32 4 octets -2147483648 2147483647
UInt32 4 octets 0-4294967295
Int64 8 octets -9223372036854775808 Pour 9223372036854775807
UInt64 8 octets 0-18446744073709551615
flotteur 4 octets 1.2E-38 3.4E + 38 (~ 6 chiffres)
double 8 octets 2.3E-308 à 1.7E + 308 (~ 15 chiffres)

alias Type

Tapez un alias pour le type actuel définit un autre nom, tapez l'alias définis en utilisant typealias mot-clé. La syntaxe est la suivante:

typealias newname = type

L'exemple suivant définit les Int Feet Type d'alias:

typealias Feet = Int

Maintenant, nous pouvons définir un alias de variable:

import Cocoa

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

Nous utilisons le terrain de jeu du programme ci-dessus, la sortie est:

100

Type de sécurité

Swift est un type de sécurité (type de sécurité) langue.

Parce que Swift est de type sécurisé, il sera donc le type d'inspection (contrôles de type) à compiler votre code, et ne correspond pas au type de marque comme une erreur. Cela vous permet de trouver et de corriger les erreurs tôt dans le développement de l'époque.

import Cocoa

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

La procédure ci-dessus sera donnée dans Xcode:

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

Signification ne peut pas être une chaîne 'String' affectée à la variable 'Int'.


L'inférence de type

Lorsque vous devez faire face à différents types de valeurs, la vérification de type peut vous aider à éviter les erreurs. Toutefois, cela ne veut pas dire que chaque fois que vous déclarez constantes et les variables doivent spécifier explicitement le type.

Si vous ne spécifiez pas explicitement le type, Swift utilise le type inférence (inférence de type) pour sélectionner le type approprié.

Par exemple, si vous donnez une nouvelle valeur constante 42 et ne pas indiquer le type, Swift peut déduire le type Int constant, parce que la valeur initiale que vous affectez il ressemble à un nombre entier:

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

De même, si vous ne disposez pas d'indiquer le type de virgule flottante littéraux, Swift inférer que vous voulez est double:

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

Quand une inférence de type virgule flottante, Swift sera toujours choisir au lieu de Double Float.

Si la même expression que nombres entiers et en virgule flottante, sera déduit de type Double:

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

La valeur initiale de 3 ne déclare pas explicitement le type, et l'expression il y a une virgule flottante littéral, l'expression sera présumé de type Double.

Exemples

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)

Mise en œuvre du code ci-dessus, la sortie est:

42
3.14159
3.14159