雑記
プログラミングできねぇ
DFS
func dfs(base, p string, recursive bool, action func(string, os.FileInfo) error) error {
path := filepath.Join(base, p)
fi, err := os.Stat(path)
if err != nil{return err}
if fi.IsDir() {
entries, err := ioutil.ReadDir(path)
if err != nil{return err}
for _, entry := range entries {
item := filepath.Join(p, entry.Name())
if entry.IsDir() && recursive {
if err := dfs(base, item, recursive, action); err != nil{return err}
} else {
if err := action(item, entry); err != nil {return err}
}
} else {
if err := action(p, fi); err != nil{return err}
}
return nil
}
こういう感じで、 base
に渡したパス以下のファイルやディレクトリへのパスを base
からの距離でリストアップする奴が欲しいんだ…。できればGlobにも対応したい。 filepath.Walk
は絶対パス返してくるのでダメだった。これ適当に描いたけどあってるのかな
おわり
プログラミングはエディタでやろうな