GO学习第九天(defer)

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

你可能感兴趣的:(GO)