Syntaxe de base rapide


Dans le chapitre précédent, nous avons expliqué comment créer un programme "Hello, World!" en langage Swift. Maintenant, passons en revue.

Si nous voulons créer un système d'exploitation

import Cocoa

/* 我的第一个 Swift 程序 */
var myString = "Hello, World!"

print(myString)

Le code ci-dessus est la structure de base du programme Swift. Ensuite, nous expliquerons les composants de la structure en détail.

Swift Import

Nous pouvons utiliser l'instruction
import

pour introduire n'importe quel framework Objective-C (ou bibliothèque C) dans un programme Swift. Par exemple, l'instruction

import cocoa

importe la bibliothèque et l'API Cocoa, et nous pouvons les utiliser dans les programmes Swift.

Cocoa lui-même est écrit en langage Objective-C, et Objective-C est un sur-ensemble strict du langage C, nous pouvons donc facilement mélanger le code du langage C dans les applications Swift, même Code C++.


Balises Swift

Les programmes Swift sont composés d'une variété de balises, qui peuvent être des mots, des identifiants, des constantes, des chaînes ou des symboles. Par exemple, le programme Swift suivant se compose de trois balises :
import UIKit
var myString = "Hello, World!"
print(myString)

Comments

Les commentaires de Swift sont très similaires au langage C. Ils commencent par deux barres obliques inverses :
.

Hello, World!

Les commentaires multilignes commencent par /* et se terminent par */:

print("test!")
标记是:单词、符号
print
(
   "test!"
)

Ce qui est différent des commentaires multilignes en langage C, c'est que le multi- commentaires de ligne Peuvent être imbriqués dans d'autres commentaires multilignes. La façon de l'écrire consiste à insérer un autre commentaire multiligne dans un bloc de commentaire multiligne. Lorsque le deuxième bloc de commentaires est fermé, il est toujours suivi du premier bloc de commentaires :

//这是一行注释

L'imbrication de commentaires sur plusieurs lignes vous permet de commenter les blocs de code plus rapidement et plus facilement, même s'il y a déjà des commentaires dans le bloc de code.

Point-virgule

Contrairement à d'autres langages, Swift ne nécessite pas de point-virgule (;) à la fin de chaque ligne d'instructions, mais lorsque vous écrivez plusieurs instructions sur la même ligne, il doit être séparés par des points-virgules :
/* 这也是一条注释,
但跨越多行 */

Identifiant

Les identifiants sont spécifiés pour les variables, constantes, méthodes, fonctions, énumérations, structures, classes, protocoles, etc. Les lettres qui composent les identifiants ont certaines spécifications. Les règles de dénomination des identifiants en langage Swift sont les suivantes :

sont sensibles à la casse. Mon nom et mon nom sont deux identifiants différents ;

  • Le premier caractère de l'identifiant peut commencer par un trait de soulignement (_) ou une lettre, mais ne peut pas être un chiffre

  • Autres caractères de l'identifiant ; peut être des traits de soulignement ( _), des lettres ou des chiffres.

  • Par exemple : userName, User_Name, _sys_val, height, etc. sont des identifiants légaux, tandis que 2mail, room# et class sont des identifiants illégaux.

  • Remarque :
Les lettres dans Swift utilisent le codage Unicode[1]. Unicode est appelé le système de codage unifié. Il inclut les codages de texte asiatiques, tels que les caractères chinois, japonais, coréens et autres, et même les émoticônes que nous utilisons dans les outils de chat

Si vous devez utiliser des mots-clés comme identifiants, vous pouvez le faire. Ajoutez des marques d'accent (`) avant et après les mots-clés, par exemple :


Mots clés

Les mots clés sont des séquences de caractères réservés de type identifiant qui ne peuvent pas être utilisées comme identifiants à moins qu'elles ne soient entourées d'accents (`). Les mots-clés sont des identifiants réservés prédéfinis qui ont une signification particulière pour le compilateur. Les mots-clés courants incluent les 4 types suivants.

Mots clés liés aux déclarations

classdeinitenumextension
funcimportinitinternal
letoperatorprivateprotocol
publicstaticstructsubscript
typealiasvar

Mots clés liés aux déclarations

breakcasecontinuedefault
doelsefallthroughfor
ifinreturnswitch
wherewhile

Mots clés d'expression et de type

asdynamicTypefalseis
nilselfSelfsuper
true_COLUMN__FILE__FUNCTION_
_LINE_


Mots clés utilisés dans des contextes spécifiques

associativityconveniencedynamicdidSet
finalgetinfixinout
lazyleftmutatingnone
nonmutatingoptionaloverridepostfix
precedenceprefixProtocolrequired
rightsetTypeunowned
weakwillSet


Espaces Swift

Le langage Swift n'ignore pas complètement les espaces comme C/C++ et Java. L'utilisation des espaces par Swift a certaines exigences, mais pas aussi strictes que les exigences de Python. pour l'indentation.

Dans Swift, les opérateurs ne peuvent pas suivre directement des variables ou des constantes. Par exemple, le code suivant signalera une erreur :

/* 这是第一个多行注释的开头

/* 这是嵌套的第二个多行注释 */

这是第一个多行注释的结尾 */

Le message d'erreur est :

import Cocoa
/* 我的第一个 Swift 程序 */
var myString = "Hello, World!"; print(myString)

Cela signifie que l'utilisation du signe égal qui le précède ou le suit directement est réservé.

Le code suivant signalera toujours une erreur (continuez à faire attention aux espaces) :

let a= 1 + 2

Le message d'erreur est :

error: prefix/postfix '=' is reserved

C'est parce que Swift pense que le l'instruction se termine à 1+. 2 est l'instruction suivante.

Seul écrire comme ceci ne provoquera pas d'erreur :

let a = 1+ 2

littéral Swift

Le soi-disant littéral fait référence à un nombre, une chaîne ou une valeur booléenne spécifique. de cette façon, vous pouvez directement signaler votre propre type et attribuer une valeur à la variable. Par exemple, ci-dessous :

error: consecutive statements on a line must be separated by ';'