⏱️ Defer
defer odkłada wykonanie instrukcji do momentu wyjścia z funkcji.
Podstawowe użycie
fn processFile(path) {
let file = openFile(path);
defer { closeFile(file); }
let data = readFile(file);
if (data == null) {
return null;
}
return processData(data);
}
Wiele defer (LIFO)
fn example() {
defer { print("first"); }
defer { print("second"); }
defer { print("third"); }
}
Ochrona przed wyciekami
fn risky() {
let lock = acquireLock();
defer { releaseLock(lock); }
doRiskyOperation();
}