fileObj, err := os.Open("test.txt")
if err != nil {
fmt.Printf("打开文件失败,err: %v\n", err)
return
}
//文件延迟关闭,要放在处理err后面
defer fileObj.Close()
如果放到err
前面, 当err
发生时, 还会执行defer
,此时 fileObj
为空指针, 会报错
如果放到err
后面, 当err
发生, 直接就return
了, 不会执行下面的defer