SWIFT Code » Hello World http://www.swiftcode.fr Apprendre le langage Apple SWIFT pour Mac et iOS Thu, 05 Jun 2014 19:43:37 +0000 fr-FR hourly 1 http://wordpress.org/?v=3.9.1 Un petit tour de Swift http://www.swiftcode.fr/petit-tour-swift/ http://www.swiftcode.fr/petit-tour-swift/#comments Mon, 02 Jun 2014 19:04:30 +0000 http://www.swiftcode.fr/?p=314 La tradition veut que lorsque l’on démarre l’apprentissage d’un nouveau langage l’on commence par le fameux « Hello, World ». Avec Swift, vous pouvez vous en sortir en seulement une seule ligne : println("Hello, world") Si vous avez déjà écrit quelques lignes de codes en C ou en Objective-C, cette syntaxe devrait vous sembler familière. Dans Swift, […]

The post Un petit tour de Swift appeared first on SWIFT Code.

]]>
La tradition veut que lorsque l’on démarre l’apprentissage d’un nouveau langage l’on commence par le fameux « Hello, World ». Avec Swift, vous pouvez vous en sortir en seulement une seule ligne :

println("Hello, world")

Si vous avez déjà écrit quelques lignes de codes en C ou en Objective-C, cette syntaxe devrait vous sembler familière. Dans Swift, cette seule ligne de code est un programme complet. Vous n’avez pas besoin d’importer une librairie additionnelle pour des fonctionnalités comme Input/Output ou la gestion des chaînes de caractères. Le code est écrit de façon globale pour tout le programme et est utilisé comme point d’entrée pour le programme, du coup vous n’avez plus besoin de la fonction main. Vous n’avez également plus besoin d’ajouter une virgule ou un point-virgule à la fin d’une déclaration.

Ce petit tour vous donne assez d’information pour démarrer l’écriture du code avec Swift en présentant les différentes façons d’accomplir une très grande variété de tâches dans vos programmes. Pas d’inquiétude si vous ne comprenez pas tout dans ce chapitre, chaque élément sera expliqué en détail dans le reste de ce tutoriel.

Pour une meilleure expérience, parcourez ce chapitre en exécutant Xcode en tâche de fond. Il vous permettra de tester les bouts de codes et d’apprécier leurs résultats immédiatement.

Valeurs simples

Utilisez let pour initier une constante et var pour déclarer une variable. La valeur d’une constante n’a pas besoin d’être connue au moment de la compilation mais vous devez lui assigner une valeur exacte au départ. Ce qui signifie que vous pouvez utiliser les constantes pour nommer une valeur et l’utiliser ensuite à de nombreux endroits.

var maVariable = 42
maVariable = 50
let maConstante = 42

Une constante ou une variable doivent avoir le même type que la valeur que vous lui assignez. Cependant, vous n’aurez pas toujours besoin d’indiquer le type de façon explicite. Fournir une valeur lorsque vous créez une constante ou une variable permet au compilateur de déduire son type. Dans l’exemple ci-dessus, le compileur sait que maVariable est un intégral parce-que sa valeur est un intégral (un nombre entier).

Si la valeur initiale ne présente pas suffisamment d’information (ou bien qu’il n’y a pas de valeur initiale), vous devez spécifiez le type en l’indiquant après la variable, séparé par deux points.

let impliciteIntegral = 70
let impliciteDouble = 70.0
let expliciteDouble: Double = 70

Exercice : Créez une constante avec le type explicite Float et la valeur 4.

Les valeurs ne sont jamais implicitement converties dans un autre type. Si vous avez besoin de convertir une valeur dans un autre type, vous devez explicitement créer une instance du type désiré.

let label = "La largeur est "
let largeur = 94
let largeurTotale = label + String(largeur)

Exercice : Essayer de supprimer le paramètre de conversion String de la dernière ligne. Quelle erreur obtenez-vous ?

Il y a une façon beaucoup plus simple de transformer les valeurs en chaîne de caractères : Écrire la valeur entre parenthèses et précéder ces parenthèses d’un anti-slash. Par exemple :

let pommes = 3
let oranges = 5
let pommesTotal = "Je possède \(pommes) pommes."
let fruitsTotal = "Je possède \(pommes + oranges) fruits en tout."

Exercice : Utilisez () pour inclure une virgule flottante dans un calcul avec une chaîne de caractère.

On utilise les crochets ([ ]) pour créer des tableaux et des dictionnaires, et on accède à leurs éléments en indiquant la clé ou l’index entre crochets.

var shoppingList = ["poisson", "eau", "tulipes", "peinture bleue"]
shoppingList[0] = "Saumon"
shoppingList[1] = "bouteilles de Vittel"

var metiers = [
    "Alexandre": "Capitaine",
    "Kevin": "Mécano",
]

metiers["Jeanne"] = "Relations publiques"

Pour créer un tableau ou un dictionnaire vide, utilisez la syntaxe d’initialisation.

let nouveauTableau = String[]()
let nouveauDictionnaire = Dictionary<String, Float>()

Si le type de l’information peut être déduite par le compileur, vous pouvez initier un tableau vide avec [ ] et un dictionnaire vide avec [ : ]

shoppingList = []   // Je peux acheter n'importe quoi.

Contrôle des flux

La gestion des conditions s’effectue avec if et switch et les boucles avec for-in, for, while et do-while. Les parenthèses autour des conditions et des boucles sont optionnelles. En revanche, les accolades autour du corps de la boucle ou de la condition sont indispensables.

let individuelScore = [75, 43, 103, 87, 12]
var equipeScore = 0
for score in individuelScore {
    if score > 50 {
        equipeScore += 3
    } else {
        equipeScore += 1
    }
}
equipeScore

Dans le cas d’un if, la condition doit être une expression booléenne. Ce qui veut dire qu’un code du type if score {...} est une erreur, ce n’est pas une comparaison implicite à zéro.

Vous pouvez utiliser if et let ensemble pour pallier au problème. Ces valeurs sont présentés comme optionnelles. Une valeur optionnelle contient une valeur ou contient nil pour indiquer l’absence de valeur. Pour indiquer qu’une valeur est optionnelle, on utilise le point d’interrogation.

var optionalString: String? = "Hello"
optionalString == nil
 
var optionalName: String? = "John Appleseed"
var greeting = "Hello!"
if let name = optionalName {
    greeting = "Hello, \(name)"
}

Exercice : Changez optionalName par nil. Quelle salutation recevez-vous ? Ajoutez une clause else pour configurer une salutation différente si optionalName vaut nil.

Si la valeur optionnelle est nil, la condition est false et le code entre les accolades est ignoré. Par ailleurs, la valeur optionnelle est extraite et assignée à la constante après let, ce qui fait que la valeur devient disponible à l’intérieur du bloc de code.

Les switches supportent n’importe quel type de données et une grande variété d’opérateur de comparaison, ils ne sont pas uniquement limités aux intégrales et aux tests d’égalités.

let vegetable = "poivre rouge"
switch vegetable {
case "céleri":
    let vegetableComment = "Ajouter quelques raisins."
case "concombre", "salade":
    let vegetableComment = "Ça devrait faire un bon sandwich."
case let x where x.hasSuffix("poivre"):
    let vegetableComment = "On sent les épices \(x)?"
default:
    let vegetableComment = "Tout a bon goût dans la soupe."
}

Exercice : Essayez d’enlever le case par défaut. Quelle erreur obtenez-vous ?

Après avoir exécuté le code dans le switch case qui a répondu, le programme sort de la boucle conditionnelle. L’exécution du programme ne continue pas avec le case suivant, il est donc inutile d’indiquer un break à la fin de chaque case.

The post Un petit tour de Swift appeared first on SWIFT Code.

]]>
http://www.swiftcode.fr/petit-tour-swift/feed/ 2