掌握Go语言延迟执行:defer关键字的实战技巧
package main
import (
"fmt"
)
// 定义一个函数,使用defer关键字来延迟执行关闭文件的操作
func readFile(path string) {
file, err := os.Open(path)
if err != nil {
fmt.Println("Error:", err)
return
}
// 使用defer关键字来确保文件在函数结束时关闭
defer file.Close()
// 这里可以执行文件读取的操作
content, err := ioutil.ReadAll(file)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println("File content:", string(content))
}
func main() {
readFile("example.txt")
}
这段代码演示了如何在Go语言中使用defer
关键字来确保文件在读取操作后能够被正确关闭。这是一个非常重要的实践,因为它能够避免文件资源泄露的问题。
评论已关闭