package main
import (
"fmt"
"os"
)
//defer 延迟关键字 可用于修饰语句 函数 确保 这条语句可以在当前栈退出的时候执行
//一般用于做资源清理工资
//解锁关闭文件
//在同一个函数多次调用defer 执行时 蕾仕于栈的机制 先后入后出
func main() {
readFile()
}
func readFile() {
f, err := os.Open("q.txt")
defer f.Close()
if err != nil {
fmt.Println("打开文件失败:", err)
}
buf := make([]byte, 1024)
n, err := f.Read(buf)
fmt.Println("读取出来的文件:", n)
fmt.Println(string(buf))
defer fmt.Println("defer--------1")
defer fmt.Println("defer--------2")
defer fmt.Println("defer--------3")
}
golang:defer关键字的使用方法
最新推荐文章于 2024-08-20 01:38:06 发布