Latihan 1: Defer, Panic, Recover — Go

Latihan 1 dari materi Defer, Panic, Recover di Go — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Kode awal sudah punya openResource (mencetak buka: <nama> lalu mengembalikan namanya), closeResource (mencetak tutup: <nama>), dan main yang membuka file-A lalu menjadwalkan penutupannya dengan defer closeResource(a). Biarkan semuanya.

  1. Di main, di bawah defer closeResource(a), buka sumber daya kedua: b := openResource("file-B").
  2. Tepat di bawahnya, jadwalkan penutupannya: defer closeResource(b).
  3. Biarkan fmt.Println("kerja...") tetap jadi baris terakhir main.

Output harus persis lima baris ini, dengan urutan ini:

buka: file-A
buka: file-B
kerja...
tutup: file-B
tutup: file-A

Yang dicek: kelima baris itu dan urutannya, ada dua defer (atau satu defer di dalam for), dan teks buka: serta tutup: dicetak dari dalam openResource dan closeResource, bukan dari main.

Hint