Go语言中defer语句的含义,它使用的场景,写出的示例。

Go语言的defer语句用于延迟执行某一个函数或方法调用,直到包含它的函数执行完毕(无论正常返回还是发生异常)。

它的应用场景一般在:资源释放,错误处理,日志记录

package main

import (
	"fmt"
	"os"
)

func main() {
	file, err := os.Open("example.txt")
	if err != nil {
		fmt.Println("文件打开失败:", err)
		return
	}
	// 延迟关闭文件,确保函数退出时执行
	defer file.Close()

	// 模拟文件操作
	data := make([]byte, 100)
	count, err := file.Read(data)
	if err != nil {
		fmt.Println("读取失败:", err)
		return
	}
	fmt.Printf("读取到 %d 字节: %q\n", count, data[:count])

	// defer 栈的执行顺序(后进先出)
	defer fmt.Println("第一个 defer")
	defer fmt.Println("第二个 defer")
}
 

 

 

你可能感兴趣的:(golang,开发语言,后端)