AferoGo 的文件系統(tǒng)抽象
Afero 是一個文件系統(tǒng)框架,提供一個簡單、統(tǒng)一和通用的 API 和任何文件系統(tǒng)進行交互,作為抽象層還提供了界面、類型和方法。Afero 的界面十分簡潔,設(shè)計簡單,舍棄了不必要的構(gòu)造函數(shù)和初始化方法。
Afero 作為一個庫還提供了一組可交互操作的后臺文件系統(tǒng),這樣在與 Afero 協(xié)作時,還可以保留 os 和 ioutil 軟件包的功能和好處。
相比單獨使用 os 軟件包,Afero 提供了顯著的性能提升,尤其是創(chuàng)建 mock 和測試文件系統(tǒng)的能力,無需依賴于磁盤。
特性:
-
一個單獨的 API 用于訪問各類文件系統(tǒng)
- 多種文件系統(tǒng)類型之間可交互互操作
- 一組接口,加強后端之間的交互操作性
- 一個原子的跨平臺存儲備份文件系統(tǒng)
-
支持由不同的文件系統(tǒng)組成復(fù)合文件系統(tǒng) (見 httpFs)
-
從 o, ioutil & hugo 移植一組實用函數(shù)
方法:
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
評論
圖片
表情
