Заявление Swift Guard-let: безопасное развертывание опционалов с примерами

В Swift оператор guard-letиспользуется для необязательной привязки. Это позволяет безопасно развернуть необязательное значение и обеспечить ранний выход из функции или блока кода, если значение равно nil. Вот несколько методов с примерами кода, демонстрирующих использование guard-let:

Метод 1:

func processName(_ name: String?) {
    guard let unwrappedName = name else {
        print("Name is nil")
        return
    }

    print("Name is \(unwrappedName)")
    // Continue with the rest of the code
}

Метод 2:

func fetchData(completion: @escaping (Result<Data, Error>) -> Void) {
    guard let url = URL(string: "https://example.com/data") else {
        completion(.failure(NSError(domain: "Invalid URL", code: 0, userInfo: nil)))
        return
    }

    URLSession.shared.dataTask(with: url) { data, response, error in
        guard let responseData = data else {
            completion(.failure(error ?? NSError(domain: "No data", code: 0, userInfo: nil)))
            return
        }

        completion(.success(responseData))
    }.resume()
}

Метод 3:

func calculateSquareRoot(_ number: Double?) -> Double? {
    guard let value = number, value >= 0 else {
        return nil
    }

    return sqrt(value)
}

Это всего лишь несколько примеров использования оператора guard-letв Swift. Этот оператор особенно полезен для безопасной обработки необязательных значений и обеспечения читаемости кода.