Go语言错误处理,defer问题

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。

查看回复