// PathExists 判断文件或文件夹是否存在.
//    @param path 文件或文件夹.
//    @return error 如果出错, 则不确定是否存在.
//
func PathExists(path string) (bool, error) {
    _, err := os.Stat(path)
    if err == nil { // 如果返回的错误为nil,说明文件或文件夹存在
        return true, nil
    }

    if os.IsNotExist(err) { // 如果返回的错误类型使用 os.IsNotExist() 判断为true, 说明文件或文件夹不存在
        return false, nil
    }
    return false, err // 如果返回的错误为其它类型, 则不确定是否在存在
}
// IsDir 判断是否是文件夹.
//    @param path
//    @return bool
//
func IsDir(path string) bool {
    s, err := os.Stat(path)
    if err != nil {
        return false
    }
    return s.IsDir()
}

// IsFile 判断是否为文件.
//    @param path
//    @return bool
//
func IsFile(path string) bool {
    return !isDir(path)
}