Go 的文件系统抽象:Afero
nyyb
9年前
Afero 是一个文件系统框架,提供一个简单、统一和通用的 API 和任何文件系统进行交互,作为抽象层还提供了界面、类型和方法。Afero 的界面十分简洁,设计简单,舍弃了不必要的构造函数和初始化方法。
Afero 作为一个库还提供了一组可交互操作的后台文件系统,这样在与 Afero 协作时,还可以保留 os 和 ioutil 软件包的功能和好处。
相比单独使用 os 软件包,Afero 提供了显著的性能提升,尤其是创建 mock 和测试文件系统的能力,无需依赖于磁盘。
特性:
-
一个单独的 API 用于访问各类文件系统
- 多种文件系统类型之间可交互互操作
- 一组接口,加强后端之间的交互操作性
- 一个原子的跨平台存储备份文件系统
-
支持由不同的文件系统组成复合文件系统 (见 httpFs)
-
从 o, ioutil & hugo 移植一组实用函数