operator && { associativity left precedence } Declarations func &&(_: Bool, rhs: @autoclosure () throws -> Bool) Performs a logical AND operation on two Boolean values. The logical AND operator (&&) combines two Boolean values and returns true if both of the values are true. If either of the values is false, the operator returns false. This operator uses short-circuit evaluation: The left-hand side (lhs) is evaluated first, and the right-hand side (rhs) is evaluated only if lhs evaluates to true. For example: let measurements = [7.44, 6.51, 4.74, 5.88, 6.27, 6.12, 7.76] let sum = measurements.reduce(0, combine: +) if measurements.count > 0 && sum / Double(measurements.count) < 6.5 { print("Average measurement is less than 6.5") } // Prints "Average measurement is less than 6.5" In this example, lhs tests whether measurements.count is greater than zero. Evaluation of the && operator is one of the following: When measurements.count is equal to zero, lhs evaluates to false and rhs is not evaluated, preventing a divide-by-zero error in the expression sum / Double(measurements.count). The result of the operation is false. When measurements.count is greater than zero, lhs evaluates to true and rhs is evaluated. The result of evaluating rhs is the result of the && operation. Parameters: lhs: The left-hand side of the operation. rhs: The right-hand side of the operation. Declaration func &&(lhs: Bool, rhs: @autoclosure () throws -> Bool) -> Bool