Rumah > Artikel > pembangunan bahagian belakang > Perintah pelaksanaan dan tujuan penangguhan fungsi Golang
Fungsi tangguh digunakan dalam bahasa Go untuk menangguhkan pelaksanaan panggilan fungsi sehingga fungsi itu kembali, memanggilnya dalam urutan masuk-dahulu (LIFO). Penggunaannya termasuk mengeluarkan sumber, pembalakan dan memulihkan daripada pengecualian. Fungsi tertunda kemudian akan dipanggil sebelum fungsi tertunda pertama.
Jujukan pelaksanaan dan tujuan penangguhan fungsi dalam bahasa Go
fungsi tangguh
defer
是 Go 语言中一个独特的关键字,它可以将函数调用推迟到函数返回之前执行。当函数返回时,被延迟的函数按后进先出 (LIFO) 的顺序调用。
defer 的用途
defer
Pemulihan pengecualian: Digunakan untuk mengendalikan pengecualian dan melakukan operasi pembersihan. Perintah pelaksanaan
tunda
Panggilan fungsi yang tertunda dilaksanakan dalam susunan masuk-dahulu-keluar apabila fungsi itu kembali. Ini bermakna fungsi tertunda kemudian akan dipanggil sebelum fungsi tertunda yang pertama.Kes praktikal: Lepaskan pemegang fail
package main import ( "fmt" "os" ) func main() { // defer 语句将函数 os.File.Close() 调用推迟到 main() 函数返回之前执行。 f, err := os.Open("myfile.txt") if err != nil { fmt.Println(err) return } defer f.Close() // 使用 defer 可以确保文件句柄在函数返回时始终被关闭。 fmt.Println("File opened successfully.") }Output:
File opened successfully.
Contoh lain:
Pulihkan pengecualian:
defer fmt.Println("Function completed.")🎜🎜
Atas ialah kandungan terperinci Perintah pelaksanaan dan tujuan penangguhan fungsi Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!