Swift Language
booleani
Ricerca…
Cos'è Bool?
Bool è un tipo booleano con due valori possibili: true
e false
.
let aTrueBool = true
let aFalseBool = false
Le bols sono usate nelle dichiarazioni del flusso di controllo come condizioni. L' istruzione if
usa una condizione booleana per determinare quale blocco di codice eseguire:
func test(_ someBoolean: Bool) {
if someBoolean {
print("IT'S TRUE!")
}
else {
print("IT'S FALSE!")
}
}
test(aTrueBool) // prints "IT'S TRUE!"
Annulla un Bool con il prefisso! operatore
Il prefisso !
l'operatore restituisce la negazione logica del suo argomento. Cioè !true
restituisce false
, e !false
restituisce true
.
print(!true) // prints "false"
print(!false) // prints "true"
func test(_ someBoolean: Bool) {
if !someBoolean {
print("someBoolean is false")
}
}
Operatori logici booleani
L'operatore OR (||) restituisce true se uno dei suoi due operandi restituisce true, altrimenti restituisce false. Ad esempio, il codice seguente restituisce true perché almeno una delle espressioni su entrambi i lati dell'operatore OR è vera:
if (10 < 20) || (20 < 10) {
print("Expression is true")
}
L'operatore AND (&&) restituisce true solo se entrambi gli operandi valgono come veri. L'esempio seguente restituirà false perché solo una delle due espressioni di operando restituisce true:
if (10 < 20) && (20 < 10) {
print("Expression is true")
}
L'operatore XOR (^) restituisce true se uno e solo uno dei due operandi restituisce true. Ad esempio, il codice seguente restituirà true poiché solo un operatore valuta essere vero:
if (10 < 20) ^ (20 < 10) {
print("Expression is true")
}
Booleans e Inline Conditionals
Un modo pulito per gestire i booleani è l'utilizzo di un condizionale in linea con l'a? b: c operatore ternario, che fa parte delle operazioni di base di Swift.
Il condizionale in linea è costituito da 3 componenti:
question ? answerIfTrue : answerIfFalse
dove domanda è un valore booleano che viene valutato e answerIfTrue è il valore restituito se la domanda è vera e answerIfFalse è il valore restituito se la domanda è falsa.
L'espressione sopra è la stessa di:
if question {
answerIfTrue
} else {
answerIfFalse
}
Con condizionali in linea si restituisce un valore basato su un valore booleano:
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'
Puoi anche chiamare metodi basati su un valore booleano:
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'
I condizionali in linea consentono valutazioni booleane a una sola riga