Go 的文件系统抽象:Afero

nyyb 8年前

Afero 是一个文件系统框架,提供一个简单、统一和通用的 API 和任何文件系统进行交互,作为抽象层还提供了界面、类型和方法。Afero 的界面十分简洁,设计简单,舍弃了不必要的构造函数和初始化方法。

Afero 作为一个库还提供了一组可交互操作的后台文件系统,这样在与 Afero 协作时,还可以保留 os 和 ioutil 软件包的功能和好处。

相比单独使用 os 软件包,Afero 提供了显著的性能提升,尤其是创建 mock 和测试文件系统的能力,无需依赖于磁盘。

特性:

  • 一个单独的 API 用于访问各类文件系统

  • 多种文件系统类型之间可交互互操作
  • 一组接口,加强后端之间的交互操作性
  • 一个原子的跨平台存储备份文件系统
  • 支持由不同的文件系统组成复合文件系统 (见 httpFs)

  • 从 o, ioutil & hugo 移植一组实用函数

项目主页:http://www.open-open.com/lib/view/home/1449971749865