Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Melakukan Tindakan Pembersihan Apabila Program Go Keluar?
Melakukan Tindakan Akhir Pelaksanaan dalam Go
Dalam Go, anda boleh melaksanakan tindakan tertentu apabila program anda keluar, termasuk sebagai tindak balas kepada gangguan yang dimulakan pengguna (Ctrl-C). Memahami isyarat Unix boleh membantu dalam senario ini.
Menangkap Isyarat Gangguan
Untuk menangkap isyarat gangguan (SIGINT), yang dicetuskan apabila pengguna menekan Ctrl- C, anda boleh menggunakan os.Isyarat dan isyarat.Beritahu pakej seperti ini:
package main import ( "fmt" "os" "os/signal" ) func main() { fmt.Println("Program started!") // Create a channel for receiving signals sigchan := make(chan os.Signal, 1) // Notify the channel on receipt of the interrupt signal signal.Notify(sigchan, os.Interrupt) // Start a separate goroutine to handle the interrupt signal go func() { <-sigchan fmt.Println("Program interrupted!") fmt.Println("Performing cleanup actions...") // Perform end-of-execution actions // Exit the program cleanly os.Exit(0) }() // Start main program tasks }
Dalam contoh ini, goroutine dilancarkan untuk mengendalikan isyarat gangguan. Apabila Ctrl-C ditekan, ia mencetak mesej, melakukan sebarang tindakan pembersihan yang diperlukan (cth., membilas penimbal, menutup sambungan) dan memanggil os.Exit(0) untuk keluar dari program dengan anggun.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melakukan Tindakan Pembersihan Apabila Program Go Keluar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!