defer _ golang
Defer is used to ensure that a function call is performed later in a program's execution, usually for purposes of cleanup. defer is often used wheree.g.ensure and finally would be used in other languages.
package main import ( "fmt" "os" ) func createFile(p string) *os.File { fmt.Println("creating") f, err := os.Create(p) if err != nil { panic(err) } return f } func writeFile(f *os.File) { fmt.Println("writing") fmt.Fprintln(f, "data") } func closeFile(f *os.File) { fmt.Println("closing") f.Close() } func main() { f := createFile("/tmp/defer.txt") defer closeFile(f) writeFile(f) }
creating
writing
closing
总结 :
1 : ....