defer 是 Go 语言中的一个关键字,用于延迟(在函数结束时)执行一个函数调用或语句。

使用 defer 关键字的主要优点包括: 1. 确保资源的释放,比如关闭文件、释放锁、连接等,无论函数如何退出(正常返回或发生错误)。 2. 可以让代码的逻辑更清晰,将清理和收尾的操作与主要的业务逻辑分开。

以下是一个简单的示例:

package main

import "fmt"

func main() {
    defer fmt.Println("Deferred statement")
    fmt.Println("Regular statement")
}

在上述示例中,"Deferred statement" 会在 main 函数结束时才被打印输出。