Melaksanakan Operasi Selepas Keluar dari Program Go
Soalan:
Bagaimana seseorang boleh melaksanakan tertentu operasi pada penghujung pelaksanaan program Go? Ini amat relevan untuk mengendalikan tugas pembersihan atau keluar yang anggun dalam pelayan HTTP.
Jawapan:
Menggunakan Isyarat Unix
Mengendalikan tindakan akhir pelaksanaan dalam Go melibatkan pendaftaran untuk isyarat Unix, seperti SIGINT (dijana oleh Ctrl-C). Isyarat ini memberitahu masa jalan Go apabila program harus ditamatkan.
Coretan Kod
Coretan kod berikut menunjukkan cara menangkap isyarat gangguan dan melakukan operasi pembersihan sebelum keluar:
package main import ( "log" "os" "os/signal" ) func main() { // Create a channel to receive the interrupt signal. sigchan := make(chan os.Signal) signal.Notify(sigchan, os.Interrupt) // Start a goroutine to listen for the signal. go func() { <-sigchan log.Println("Program killed!") // Perform last actions and wait for all write operations to end. os.Exit(0) }() // Start the main program tasks. }
Penjelasan
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Operasi Pembersihan Sebelum Program Go Keluar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!