Tangguh Kata Kunci di Golang

Dalam Go, tangguhkan kenyataan menangguhkan pelaksanaan fungsi atau kaedah atau kaedah tanpa nama sehingga fungsi berdekatan kembali. Dalam erti kata lain, hujah untuk menangguhkan fungsi atau kaedah dinilai serta-merta, tetapi ia tidak dilaksanakan sehingga fungsi berdekatan kembali. Anda boleh membuat kaedah tertunda, fungsi atau fungsi tanpa nama menggunakan kata kunci tangguh.

Tangguh Kata Kunci di Golang

Sintaks:

// Hàm
defer func func_name(parameter_list Type)return_type{
// Code
}

// Phương thức
defer func (receiver Type) method_name(parameter_list){
// Code
}

defer func (parameter_list)(return_type){
// code
}()

Nota Penting:

  • Dalam bahasa Go, penyataan penangguhan berbilang dibenarkan dalam program yang sama dan ia dilaksanakan dalam susunan LIFO (Masuk Terakhir, Keluar Dahulu) seperti yang ditunjukkan dalam Contoh 2.
  • Dalam penyataan tangguh, hujah dinilai apabila penyataan penangguhan dilaksanakan, bukan apabila ia dipanggil.
  • Pernyataan tangguh sering digunakan untuk memastikan fail ditutup apabila keperluannya tamat, atau untuk menutup saluran, atau untuk menangkap masalah dalam program.

Sekarang mari kita lihat contoh untuk memahami dengan lebih baik.

Contoh 1:

// Chương trình Go minh họa
// khái niệm của lệnh defer
package main

import "fmt"

// Các hàm
func mul(a1, a2 int) int {

	res := a1 * a2
	fmt.Println("Result: ", res)
	return 0
}

func show() {
	fmt.Println("Hello!, Quantrimang.com")
}

// Hàm chính
func main() {

	// Gọi hàm mul() 
	// Tại đây hàm mul hoạt động
	// như một hàm bình thường
	mul(23, 45)

	// Gọi hàm mul()
	// Dùng từ khóa defer 
	// Hàm the mul() 
	// là hàm defer
	defer mul(23, 56)

	// Gọi hàm show() 
	show()
}

Keputusan:

Result:  1035
Hello!, Quantrimang.com
Result:  1288

Penjelasan: Dalam contoh di atas, kita mempunyai dua fungsi bernama mul() dan show() . Walaupun fungsi show() dipanggil secara normal dalam fungsi main() , fungsi mul() dipanggil dalam dua cara yang berbeza:

  • Pertama, kita memanggil fungsi mul secara normal (tanpa kata kunci tangguh), iaitu mul(23, 45) dan ia dilaksanakan apabila fungsi dipanggil (Output: Result: 1035).
  • Kedua, kita memanggil fungsi mul() sebagai fungsi defer menggunakan kata kunci defer, iaitu defer mul(23, 56) dan ia melaksanakan (Output: Result: 1288) apabila semua kaedah sekeliling kembali.

Contoh 2:

// Minh họa chương trình Go
// dùng nhiều lệnh defer, để minh họa chính sách LIFO 
package main

import "fmt"

// Các hàm
func add(a1, a2 int) int {
	res := a1 + a2
	fmt.Println("Result: ", res)
	return 0
}

// Hàm chính
func main() {

	fmt.Println("Start")

	// Nhiều lệnh defer
	// Triển khai theo thứ tự LIFO 
	defer fmt.Println("End")
	defer add(34, 56)
	defer add(10, 10)
}

Keputusan:

Start
Result:  20
Result:  90
End

Tinggalkan Komen

Cara Membuang Sisa Pelekat daripada Pakaian: Bertindak dengan Lembut Sebelum Kotoran Kekal Selamanya

Cara Membuang Sisa Pelekat daripada Pakaian: Bertindak dengan Lembut Sebelum Kotoran Kekal Selamanya

Cara membuang sisa pelekat daripada pakaian: daripada menanggalkannya dengan berhati-hati, menggunakan sejuk, air sabun dan pencuci kotoran sehingga ke proses membasuh. Dengan tip untuk gam super, sisa label dan fabrik sensitif.

Membersihkan penapis mesin basuh pinggan mangkuk: panduan mudah untuk mengelakkan sisa dan bau busuk

Membersihkan penapis mesin basuh pinggan mangkuk: panduan mudah untuk mengelakkan sisa dan bau busuk

Pelajari cara membersihkan penapis mesin basuh pinggan mangkuk langkah demi langkah: tanggalkan, bilas, berus, pasang semula, kekerapan dan tanda bahawa pembersihan mudah tidak lagi mencukupi.

Bolehkah Asid Sitrik Digunakan untuk Membersihkan Pelembap Udara? Panduan Langkah Keselamatan dan Amaran Mengikut Jenis

Bolehkah Asid Sitrik Digunakan untuk Membersihkan Pelembap Udara? Panduan Langkah Keselamatan dan Amaran Mengikut Jenis

Panduan membersihkan pelembap udara dengan asid sitrik: kepekatan, perendaman, pembilasan, dan amaran mengikut jenis berdasarkan maklumat rasmi pengeluar. Contoh senario hipotetikal disediakan untuk memudahkan pemahaman prosedur praktikal.

Apa yang Berlaku Jika Penapis Penyaman Udara Tidak Dibersihkan? Risiko Kos Elektrik, Kecekapan dan Kulat serta Cara Memilih Kekerapan Pembersihan

Apa yang Berlaku Jika Penapis Penyaman Udara Tidak Dibersihkan? Risiko Kos Elektrik, Kecekapan dan Kulat serta Cara Memilih Kekerapan Pembersihan

Jika penapis penyaman udara tidak dibersihkan, ia boleh menyebabkan peningkatan kos elektrik, penurunan kecekapan pemanasan dan penyejukan, serta menjadi punca bau dan kulat. Berdasarkan maklumat rasmi pengeluar dan penjimatan tenaga, artikel ini menerangkan kekerapan pembersihan, fungsi pembersihan automatik, dan cara memilih antara pembersihan sendiri atau profesional.

Mencuci beg galas dalam mesin basuh: Bila boleh dan bila lebih baik dielakkan

Mencuci beg galas dalam mesin basuh: Bila boleh dan bila lebih baik dielakkan

Ketahui bila boleh mencuci beg galas dalam mesin basuh, cara membaca label, memilih kitaran dan detergen, melindungi tali dan zip, serta bila lebih baik mencuci tangan.

Cara Membaiki Microsoft Teams Di Mana Boleh Cari Ralat Team

Cara Membaiki Microsoft Teams Di Mana Boleh Cari Ralat Team

Bosan dengan ralat Microsoft Teams Where to Find Team yang mengecewakan? Dapatkan pembetulan langkah demi langkah untuk desktop, web dan mudah alih. Selesaikannya dengan cepat dengan panduan pakar kami—tiada kemahiran teknikal diperlukan!

Cara Membaiki Ralat Bantuan Cara Menggunakan Microsoft Teams

Cara Membaiki Ralat Bantuan Cara Menggunakan Microsoft Teams

Bosan dengan Ralat Bantuan Microsoft Teams yang mengecewakan yang menyekat aliran kerja anda? Dapatkan pembetulan langkah demi langkah yang berfungsi pada versi terkini. Kosongkan cache, kemas kini dan banyak lagi—tiada kemahiran teknikal diperlukan!

Cara Membaiki Ralat Log Masuk Microsoft Teams pada Chromebook

Cara Membaiki Ralat Log Masuk Microsoft Teams pada Chromebook

Menghadapi ralat log masuk Microsoft Teams pada Chromebook? Temui penyelesaian langkah demi langkah untuk menyelesaikan masalah log masuk dengan cepat. Kosongkan cache, kemas kini aplikasi dan banyak lagi untuk kerja berpasukan yang lancar. Berfungsi pada OS Chrome terkini!

Menyelesaikan Masalah Kelewatan Persidangan Video Microsoft Teams pada Wi-Fi

Menyelesaikan Masalah Kelewatan Persidangan Video Microsoft Teams pada Wi-Fi

Bergelut dengan kelewatan persidangan video Microsoft Teams semasa menggunakan Wi-Fi? Panduan penyelesaian masalah muktamad ini memberikan penyelesaian pantas, petua lanjutan dan pengoptimuman Wi-Fi untuk memulihkan panggilan video yang jelas serta-merta.

Di Mana Boleh Cari Kod QR Microsoft Teams untuk Log Masuk Mudah Alih Pantas

Di Mana Boleh Cari Kod QR Microsoft Teams untuk Log Masuk Mudah Alih Pantas

Ketahui dengan tepat di mana untuk mencari Kod QR Microsoft Teams untuk log masuk mudah alih yang sangat pantas. Panduan langkah demi langkah dengan visual untuk memudahkan anda berhubung dalam beberapa saat—tiada kata laluan diperlukan!