我正在尝试使用go语言将文件夹的目录层次结构提取到数据结构中。filepath.Walk似乎是要走的路,但是到目前为止,我所能做的就是打印文件和文件夹的名称。这是我正在使用的:func main() { visit := func(path string, info os.FileInfo, err error) error { if info.IsDir() { fmt.Println("dir: ", path) } else { fmt.Println("file: ", path) } return nil } err := filepath.Walk("./", visit) if err != nil { log.Fatal(err) }}这将打印文件夹的名称,例如:dir: folder1file: folder1/file1.txtfile: folder1/file2.txtfile: folder1/file3.txtfile: folder1/file4.txtdir: folder1/folder2file: folder1/folder2/file5.txtfile: folder1/folder2/file6.txtfile: folder1/folder2/file7.txtfile: folder1/folder2/file8.txtfile: folder1/folder2/file9.txt对于树形结构,我考虑过使用类似的方法:type File struct { Name string Content string}type Folder struct { Name string Files []File Folders []Folder}但是当然欢迎任何建议。如何在go中将其转换为树结构?有没有更简单的方法可以做到这一点?
- 3 回答
- 0 关注
- 294 浏览
添加回答
举报
0/150
提交
取消