Latihan 1 dari materi Defer, Panic, Recover di Go — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Buat fungsi useResource() yang mensimulasikan cleanup dengan defer:
openResource(name string) yang cetak "buka: <name>" dan return name.closeResource(name string) yang cetak "tutup: <name>".main():
openResource("file-A") dan simpan return-nyadefer panggilan ke closeResource untuk resource ituopenResource("file-B") dan defer closeResource-nya juga"kerja..."Perhatikan urutan output — defer LIFO akan menutup file-B dulu, baru file-A.
Output yang diharapkan (berurutan):
buka: file-A
buka: file-B
kerja...
tutup: file-B
tutup: file-A