golang 遍历目录的两种方式、删除目录的两种方式

func main() {
	directory := "/Users/mike/Downloads"

	// 不会递归只会读取当前的单层目录
	directories, err := os.ReadDir(directory)
	if err != nil {
		fmt.Println(err)
	}
	for _, d := range directories {
		fmt.Println(d.Name(), d.IsDir())
	}

	// 会递归遍历所有目录下的目录和文件
	filepath.Walk(directory, func(path string, info fs.FileInfo, err error) error {
		// path 是完整路径, Name() 只返回单目录/文件名
		fmt.Println(path, info.Name())
		return err
	})

	deleteDir := "/Users/mike/Downloads/test"
	// 删除目录,不是空目录则不删除
	os.Remove(deleteDir)
	// 无论是否空目录,直接删除
	//os.RemoveAll(deleteDir)

	return

}
posted @ 2024-01-26 18:56  熊先生不开玩笑  阅读(280)  评论(0)    收藏  举报