From ad62d9b3e5e5b16f641e49ddd60162b00b7083dd Mon Sep 17 00:00:00 2001 From: xinyu Date: Sat, 21 Feb 2026 14:10:22 +0800 Subject: [PATCH] init --- .gitignore | 3 +++ go.mod | 8 ++++++++ main.go | 21 +++++++++++++++++++++ readme.md | 9 +++++++++ 4 files changed, 41 insertions(+) create mode 100644 .gitignore create mode 100644 go.mod create mode 100644 main.go create mode 100644 readme.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cb30448 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +afero-demo +*.exe +go.sum \ No newline at end of file diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..f54ba36 --- /dev/null +++ b/go.mod @@ -0,0 +1,8 @@ +module myschools.me/xinyu/afero-demo + +go 1.24.2 + +require ( + github.com/spf13/afero v1.15.0 // indirect + golang.org/x/text v0.34.0 // indirect +) diff --git a/main.go b/main.go new file mode 100644 index 0000000..daec585 --- /dev/null +++ b/main.go @@ -0,0 +1,21 @@ +package main + +import ( + "fmt" + + "github.com/spf13/afero" +) + +func main() { + //基于内存的文件读写 + fs := afero.NewMemMapFs() + + afero.WriteFile(fs, "poem.txt", []byte("月光光,照大床"), 0644) + + data, err := afero.ReadFile(fs, "poem.txt") + if err != nil { + panic(err) + } + + fmt.Println(string(data)) +} diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..f0125a6 --- /dev/null +++ b/readme.md @@ -0,0 +1,9 @@ +# afero + +afero 是一个用于 Go 的文件系统抽象层,它允许你使用不同的文件系统实现来操作文件和目录。 + +## 安装 + +```bash + + go get -v -u github.com/spf13/afero \ No newline at end of file