Afero 是一个文件系统框架,提供一个简单、统一和通用的 API 和任何文件系统进行交互,作为抽象层还提供了界面、类型和方法。Afero 的界面十分简洁,设计简单,舍弃了不必要的构造函数和初始化方法。
Afero 作为一个库还提供了一组可交互操作的后台文件系统,这样在与 Afero 协作时,还可以保留 os 和 ioutil 软件包的功能和好处。
相比单独使用 os 软件包,Afero 提供了显著的性能提升,尤其是创建 mock 和测试文件系统的能力,无需依赖于磁盘。
特性:
一个单独的 API 用于访问各类文件系统
多种文件系统类型之间可交互互操作
支持由不同的文件系统组成复合文件系统 (见 httpFs)
从 o, ioutil & hugo 移植一组实用函数
方法:
Chmod(name string, mode os.FileMode) : error Chtimes(name string, atime time.Time, mtime time.Time) : error Create(name string) : File, error Mkdir(name string, perm os.FileMode) : error MkdirAll(path string, perm os.FileMode) : error Name() : string Open(name string) : File, error OpenFile(name string, flag int, perm os.FileMode) : File, error Remove(name string) : error RemoveAll(path string) : error Rename(oldname, newname string) : error Stat(name string) : os.FileInfo, error