Swift - Boolean


Swift Boolean Type

Just like other programming languages, Swift supports a Boolean data type called "Bool". A Boolean represents a logical value, either true or false. These Boolean values are used make decisions with conditional and control flow statements like if, while, and guard.

Syntax

Following is the syntax of the boolean variable −

let value1 : Bool = true
let value2 : Bool = false

Following is the shorthand syntax of the boolean type −

let value1 = true
let value2 = false

Example of Boolean

Swift program to use boolean with logical statement.

import Foundation

// Defining boolean data type
let color : Bool = true

// If the color is true, then if block will execute
if color{
   print("My car color is red")
}

// Otherwise, else block will execute
else{
   print("My car color is not red")
}

Output

My car color is red

Combine Boolean with Logical Operators

In Swift, we are allowed to combine boolean with logical operators like logical AND "&&", logical OR "||" and logical NOT "!" to create more complex expressions. Using these operators, we can able to perform various conditional operations on boolean values.

Example

Swift program to combine boolean with logical operator.

import Foundation

// Defining boolean data type
let isUsername = true
let isPassword = true
let hasAdminAccess = false
let isUserAccount = true

// Combining boolean data type with logical AND and OR operators
let finalAccess = isUsername && isPassword && (hasAdminAccess || isUserAccount)

/* If the whole expression returns true then only the
user gets access to the admin panel. */
if finalAccess {
   print("Welcome to the admin panel")
} else {
   print("You are not allowed to access admin panel")
}

The output of the above example is:

Welcome to the admin panel

Boolean Property and Method

The Bool type provides a property called description that returns the string representation of Boolean ("true" or "false") and a method toggle() that inverts the Boolean value.

Example

This example demonstrates the use of property and method of Bool type:

import Foundation

var isUserLoggedIn: Bool = true

// The 'description' property
print("User logged in (before toggle): \(isUserLoggedIn.description)")

// Inverts the value using the 'toggle()' method
isUserLoggedIn.toggle()

// Now, printing the updated value
print("User logged in (after toggle): \(isUserLoggedIn.description)")

The output of the above example is:

User logged in (before toggle): true
User logged in (after toggle): false

Random Boolean Value

We can generate a random Boolean value by using the Bool.random() method.

Example

In this example, we are generating 10 random Boolean values:

import Foundation

for i in 1...10 {
    let randomBool = Bool.random()
    print("Random Bool \(i): \(randomBool)")
}

The output of the above example is:

Random Bool 1: true
Random Bool 2: false
Random Bool 3: true
Random Bool 4: true
Random Bool 5: false
Random Bool 6: false
Random Bool 7: true
Random Bool 8: false
Random Bool 9: true
Random Bool 10: false