Les constantes et les variables sont associées à un nom (comme nombreMaxLogin
ou welcomeMessage
par exemple) avec une valeur et un type particulier (comme le nombre 10
ou la chaine de caractères "Hello"
). La valeur d’une constante ne peut être modifiée une fois définie, sinon il s’agit d’une variable et elle pourra prendre différente valeurs dans le futur.
Déclarer les constantes et les variables
Les constantes et les variables doivent être déclarées avant d’être utilisées. On déclare les constantes avec le mot-clé let
et les variables avec var
. Voici un exemple qui montre comment les constantes et les variables peuvent être utilisées pour vérifier le nombre de tentative de connexion d’un utilisateur sur votre application :
let maximumNumberOfLoginAttempts =10 var currentLoginAttempt =0
Ce bout de code peut être lu de la façon suivante : « Déclare une nouvelle constante appelée maximumNumberOfLoginAttempts
, et attribue lui la valeur 10
. »
« Ensuite, déclare une nouvelle variable appelée currentLoginAttempt
, et donne lui la valeur initiale 0
. »
Dans cet exemple, le nombre maximum de connexions autorisées est déclaré en tant que constante, parce-que ce nombre ne devra pas être amené à être changé. En revanche le compteur du nombre de tentative de connexion est déclaré en tant que variable, puisque sa valeur sera incrémentée positivement après chaque échec de connexion.
Vous pouvez déclarer plusieurs constantes ou plusieurs variables en même temps sur une seule ligne en les séparant par des virgules :
var x =0.0 ,y =0.0 ,z =0.0
Note : Si vous stockez une valeur dans votre code qui ne sera pas ammenée à changer, déclarez là toujours en tant que constante avec le mot-clé
let
. Utilisez les variables uniquement pour stocker des valeurs qui auront besoin de changer.
Annotation des types
Vous pouvez indiquer le type de votre constante ou votre variable lors vous la déclarez, pour être clair avec les sortes de valeurs que vous souhaitez stocker. Pour indiquer le type d’une constante ou d’une variable, écrivez le type juste après son nom séparé par deux points et d’un espace.
Cet exemple montre une annotation de type pour une variable appelée welcomeMessage
pour indiquer qu’il s’agit d’une chaine de caractère (String
) :
var welcomeMessage :String
Les deux points dans la déclaration veulent dire : « …du type… », du coup le code ci-dessus peut-être lu comme ceci :
« Déclare une variable appelée welcomeMessage
qui est du type String
. »
La phrase « du type String
« veut dire « peut stocker une valeur de type chaine de caractères ». C’est le « type de chose » qui peut être stocké. La variable welcomeMessage
peut maintenant accueillir n’importe quelle chaine de caractère sans erreur :
welcomeMessage ="Hello"
Note : En réalité il est rare dans la pratique que vous ayiez à indiquer le type d’une variable ou d’une constante. En fournissant une valeur lors de la déclaration de votre constante ou de votre variable, Swift est capable de deviner son type. Les annotations de typages interviennent uniquement dans le cas d’une conversion ou de l’enregistrement d’une donnée ambigüe. Dans l’exemple ci-dessus avec la variable
welcomeMessage
, aucune valeur initiale n’est fournie, le type de la variable est alors spécifié avec une annotation, mais cette annotation aurait été inutile en fournissant une valeur initiale à la variable.
Nommage des constantes et des variables
Vous pouvez utiliser n’importe quel caractère pour vos noms de variables et de constantes, même les caractères spéciaux et unicode :
let π =3.14159 let 你好 ="你好世界" let =
"bisoucoeur"
Les noms des constantes et des variables ne peuvent pas contenir de symboles mathématiques, de flèches, de code Unicode invalide ni de points. Ils ne peuvent pas non plus commencer par un chiffre mais il est possible d’inclure des chiffres dans le nom de variables et des constantes n’importe où ailleurs dans leurs noms.
Une fois que vous avez déclaré une contante ou une variable d’un certain type, vous ne pouvez plus utiliser son nom pour en déclarer une autre ou changer le type de valeur qui y sont stockées. Vous ne pouvez pas non plus changer une constante en variable et une variable en constante.
Note : Si vous avez besoin de donner à une constante ou une variable le même nom en tant que mot-clé Swift réservé, vous pouvez le faire en entourant le mot-clé avec des guillemets inversés (`) quand vous l’utilisez en tant que nom. Néanmoins vous ne devriez utiliser cette solution que dans la mesure où vous n’avez vraiment pas le choix.
Vous pouvez change la valeur d’une variable existante par une autre valeur d’un type compatible. Dans l’exemple ci-dessous, la valeur de friendlyWelcome
est passée de "Hello!"
à "Bonjour!"
:
var friendlyWelcome ="Hello!" friendlyWelcome ="Bonjour!" // friendlyWelcome vaut maintenant "Bonjour!"
Contrairement aux variables, la valeur d’une constante ne peut pas être modifiée une fois qu’elle a été définie. Si vous tentez de changer la valeur d’une constante vous vous exposez à une erreur au moment de la compilation :
let languageName ="Swift" languageName ="Swift++" // Error - languageName cannot be changed
Afficher les constantes et les variables
Vous pouvez afficher la valeur courante d’une constante ou d’une variable avec la fonction println
:
println (friendlyWelcome )// Affichera à l'écran "Bonjour!"
println
est une fonction globale qui affiche une valeur, suivie d’un retour à la ligne, à la sortie appropriée. Si vous travaillez depuis Xcode, par exemple, println
affichera la valeur demandé dans la console Xcode. Une seconde fonction, print
, réalise exactement la même opération mais sans le retour à la ligne après l’affichage de la valeur.
La fonction println
affiche n’importe quelle chaine de caractères qu’on lui fournit :
println ("Ceci est une chaine de caractères" )// Affiche dans la console Xcode "Ceci est une chaine et caractères"
La fonction println
peut afficher des messages plus complexes similaires à la fonction NSLog
de Cocoa.
Swift convertit systématiquement les valeurs incluses dans les variables et les constantes en chaine de caractères pour s’afficher dans la console Xcode avec println
. Il est possible d’afficher une chaine de caractères avec une variable ou une constante en précédant son nom d’un anti-slash et en l’entourant de parenthèses :
println ("La valeur actuelle de friendlyWelcome est \(firendlyWelcome )" )// Affiche "La valeur actuelle de friendlyWelcome est Bonjour!"
Note : Toutes les options que vous pouvez utiliser sont expliquées plus en détails dans la partie Interpolation des chaines de caractères.