尝试运行程序时需要显示所有 .md 文件,我有一个带有 .md 的测试子文件夹,但脚本没有找到它?
import (
"fmt"
"log"
"strings"
"os"
)
func main() {
dir, err := os.ReadDir(".")
if err != nil {
log.Fatal(err)
}
for _, x := range dir {
if strings.HasSuffix(x.Name(), ".md") {
fmt.Println(x.Name())
}
}
}
您需要使用filepath.WalkDir递归检查目录,或者您可以使用 1.16 中引入的filepath.Walk。os.ReadDir
将仅在提供的目录中工作。
filepath.Walk(".", func(path string, info fs.FileInfo, err error) error {
if err != nil {
fmt.Printf("prevent panic by handling failure accessing a path %q: %v\n", path, err)
return err
}
if strings.HasSuffix(info.Name(), ".md") {
fmt.Printf("visited file or dir: %q\n", path)
}
return nil
})
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句