判断文件或目录是否存在

使用os.IsNotExist方法

使用os.IsNotExist的前提是有一个error,且这个err类型是ErrNotExist。
使用os.Stat可以获取ErrNotExist。

func Exists1(path string) bool {
	_, err := os.Stat(path)
	if os.IsNotExist(err) {
		return false
	} else {
		return true
	}
}

使用os.IsExist方法

使用os.IsExist的前提也是得有一个error,但是文件存在的error很少有,所以error是空就是文件存在了。

func Exists2(path string) bool {
	_, err := os.Stat(path)
	if err == nil || os.IsExist(err) {
		return true
	}
	return false
}

判断是否是目录

func IsDir(path string) bool {
	s, err := os.Stat(path)
	if err != nil {
		return false
	}
	return s.IsDir()
}