В 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. Этот оператор особенно полезен для безопасной обработки необязательных значений и обеспечения читаемости кода.