Mengenal Defer dan fungsinya pada golang

Defer pada Golang adalah sebuah statement dimana fungsinya adalah untuk menjalankan suatu fungsi tertentu di akhir operasi. Misal terdapat dua buah fungsi dalam program, katakanlah fungsi A dan B, ceritanya kamu ingin menjalankan fungsi B terlebih dahulu, kemudian A akan di jalankan di akhir program. Kamu dapat melakukannya dengan menambahkan defer pada A.

Untuk lebih dapat mencerna fungsi dari defer, mari kita buat defer di dalam perulangan, perhatikan kode dibawah ini

contoh :

Defer pada Golang
Defer pada Golang

Pada kode diatas, fmt.Println akan dijalankan dan i tercetak jika program telah selesai melakukan looping. Tepatnya setelah done tercetak.

Operasi Loop dengan Defer
Operasi Loop dengan Defer

Gambar di atas adalah hasil dari operasi defer yang kita lakukan sebelumnya. Terlihat bahwa nilai i menjadi dari besar terkecil.

Sebenarnya operasi yang dilakukan adalah dari kecil ke terbesar. Namun, karena menggunakan defer maka operasi akan diurutkan berdasarkan defer pertama yang terakhir di eksekusi.

Defer pada Real Project Golang

Karena statement defer selalu dipanggil di akhir proses,  defer biasanya digunakan untuk :

  1. Menutup koneksi database setelah selesai melakukan operasi query
  2. Menutup file setelah di update dari kode
  3. Menghapus file tertentu dari hardisk atau database
  4. dll

Defer menggunakan konsep LIFO yaitu Last In First Out, dengan kata lain defer yang terakhir di buat akan di eksekusi terlebih dulu

Mungkin cukup sekian penjelasan mengenai defer pada Mengenal Defer dan fungsinya dalam golang. Apabila ada yang perlu di tanyakan, boleh ditanyakan di kolom komentar. Materi selanjutnya kita akan membahas mengenai Array pada bahasa pemrograman Golang. 

Mungkin Anda juga menyukai