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)) //真实文件系统 fs = afero.NewOsFs() afero.WriteFile(fs, "poem.txt", []byte("月光光,照大床(文件系统)"), 0644) data, err = afero.ReadFile(fs, "poem.txt") if err != nil { panic(err) } fmt.Println(string(data)) //拷贝文件 err = afero.WriteFile(fs, "poem_copy.txt", data, 0644) if err != nil { panic(err) } //限定根目录 bfs := afero.NewBasePathFs(afero.NewOsFs(), "/home/yy/project") if _, err := bfs.Open("/etc/passwd"); err != nil { fmt.Println(err.Error()) } }