Swift if let vs Guard let: обработка необязательных значений в Swift с примерами

«swift if let vs Guard let» относится к двум различным методам, используемым в языке программирования Swift для обработки необязательных значений.

  1. Метод if let:
    Метод if let используется для безопасного развертывания необязательного значения и выполнения действия, если значение не равно нулю. Вот пример:
var optionalValue: Int? = 5
if let unwrappedValue = optionalValue {
    // Value is not nil
    print("The unwrapped value is: \(unwrappedValue)")
} else {
    // Value is nil
    print("The optional value is nil")
}

В приведенном выше примере, если необязательное значение не равно нулю, оно будет развернуто и присвоено константе unwrappedValue. Код внутри блока ifбудет выполнен только в том случае, если опциональное значение не равно нулю.

  1. Метод «guard let»:
    Метод «guard let» используется для безопасного развертывания необязательного значения, но с другим потоком управления по сравнению с «if let». Вот пример:
func processOptionalValue(optionalValue: Int?) {
    guard let unwrappedValue = optionalValue else {
        // Value is nil
        print("The optional value is nil")
        return
    }
// Value is not nil
    print("The unwrapped value is: \(unwrappedValue)")
}

В приведенном выше примере, если опциональное значение равно нулю, будет выполнен код внутри блока guard. Обычно вы используете guard letв начале функции, чтобы проверить наличие необязательных значений и досрочно завершить работу, если значение равно нулю.