-
Notifications
You must be signed in to change notification settings - Fork 0
DEFER
contoh sintaks dari defer
//fungsi
defer func nama_fungsi(list_parameter Type) return_tipe {
// kode
}
// method
defer func (tipe penerima) nama_method(lis_parameter) {
// kode
}
defer func (list_parameter) (tipe_return) {
// kode
}()
-
dalam bahasa go, beberapa pernyatan defer diperbolehkan dalam program yang ama dan mereka dieksekusi dalam urutan LIFO (last in first out)
-
dalam pernyataan defer, argumen dievaluasi saat pernyataan penangguhan dieksekusi, bukan saat dipanggil.
-
pernyataan penangguhan umumny digunakan untik memastukan bhwa file ditutup ketika kebutuhan mereka selesai, atau untuk menutup saluram, atau menangkap panic dalam program
contoh dri fungsi defer
package main
import "fmt"
func perkalian(angka1, angka2 int) int {
hasil := angka1 * angka2
fmt.Println("hasil :", hasil)
return 0
}
func tampilKata() {
fmt.Println("malingit")
}
func main() {
// memanggil fungsi perkalian
perkalian(25, 4)
// memanggil fungsi perkalian
// dengan menggunakan defer
defer perkalian(7, 4)
tampilKata()
}
-
pertama kita memanggil fungsi
perkalian
secara normal (tanpa kata kuncidefer
), ketika dijalnkn fungsi dipanggil dengan hasil 25 * 4 = 100. -
kedua kita memanggil fungsi
perkalian
sebagai fungsi defer menggunakan kata kuncidefer
dan dijalankan dengan hasil 7 * 4 = 28, ketika semua metode di sekitarnya kembali
Sidebar