2、go Defer

package main

import (
"fmt"
"os"
)

func main() {
f:=createFile("D:\webfront\defer.txt")
defer closeFile(f)
writeFile(f)
}


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()
}











原文地址:https://www.cnblogs.com/coderblog/p/10770157.html