package main import ( "fmt" "os" ) func main() { files, err := os.Open("testqq.txt") defer files.Close() if err != nil { fmt.Printf("Error is:%s", "Game Over!") return } }
这段代码简单打开文件"testqq.txt", 此文件根本就不存在的情况下, defer files.Close()会报错。
因为files是nil, 这个代码是不要判断files是否为nil。
这个代码你需要这样写,首先判断错误,然后再defer定义