defer
- 确保在函数结束时发生
- 参数在defer语句计算
- defer先进后出
func writeFib(fileName string) {
file, err := os.Create(fileName)
if err != nil {
panic(err)
}
defer file.Close()
wartier := bufio.NewWriter(file)
defer wartier.Flush()
f := fib.Fibonacci()
for i := 0; i < 20; i++ {
fmt.Fprintln(wartier, f())
}
}
func main() {
writeFib("textDome.txt")
}
使用
- Open / Close
- Lock / UnLock
- PrintHeader / PrintFooter