Swift Language
Booléens
Recherche…
Qu'est-ce que Bool?
Bool est un type booléen avec deux valeurs possibles: true
et false
.
let aTrueBool = true
let aFalseBool = false
Les Bools sont utilisés dans les instructions de flux de contrôle en tant que conditions. L' instruction if
utilise une condition booléenne pour déterminer le bloc de code à exécuter:
func test(_ someBoolean: Bool) {
if someBoolean {
print("IT'S TRUE!")
}
else {
print("IT'S FALSE!")
}
}
test(aTrueBool) // prints "IT'S TRUE!"
Annuler un Bool avec le préfixe! opérateur
Le préfixe !
L'opérateur renvoie la négation logique de son argument. C'est-à-dire que !true
renvoie false
et !false
renvoie true
.
print(!true) // prints "false"
print(!false) // prints "true"
func test(_ someBoolean: Bool) {
if !someBoolean {
print("someBoolean is false")
}
}
Opérateurs logiques booléens
L'opérateur OR (||) renvoie true si l'un de ses deux opérandes est évalué à true, sinon il renvoie false. Par exemple, le code suivant a la valeur true car au moins une des expressions de chaque côté de l'opérateur OR est true:
if (10 < 20) || (20 < 10) {
print("Expression is true")
}
L'opérateur AND (&&) ne renvoie true que si les deux opérandes sont considérés comme vrais. L'exemple suivant renvoie false car une seule des deux expressions d'opérande a la valeur true:
if (10 < 20) && (20 < 10) {
print("Expression is true")
}
L'opérateur XOR (^) renvoie true si un et un seul des deux opérandes est évalué à true. Par exemple, le code suivant retournera true car un seul opérateur est considéré comme vrai:
if (10 < 20) ^ (20 < 10) {
print("Expression is true")
}
Booléens et conditionnels en ligne
Une manière propre de gérer les booléens utilise un conditionnel en ligne avec le a? b: opérateur ternaire, qui fait partie des opérations de base de Swift.
Le conditionnel en ligne est composé de 3 composants:
question ? answerIfTrue : answerIfFalse
où question est un booléen évalué et answerIfTrue la valeur renvoyée si la question est vraie, et answerIfFalse la valeur renvoyée si la question est fausse.
L'expression ci-dessus est la même que:
if question {
answerIfTrue
} else {
answerIfFalse
}
Avec les conditionnels en ligne, vous retournez une valeur basée sur un booléen:
func isTurtle(_ value: Bool) {
let color = value ? "green" : "red"
print("The animal is \(color)")
}
isTurtle(true) // outputs 'The animal is green'
isTurtle(false) // outputs 'The animal is red'
Vous pouvez également appeler des méthodes basées sur une valeur booléenne:
func actionDark() {
print("Welcome to the dark side")
}
func actionJedi() {
print("Welcome to the Jedi order")
}
func welcome(_ isJedi: Bool) {
isJedi ? actionJedi() : actionDark()
}
welcome(true) // outputs 'Welcome to the Jedi order'
welcome(false) // outputs 'Welcome to the dark side'
Les conditionnels en ligne permettent des évaluations booléennes à une seule ligne