Как вывести список файлов рекурсивно с go-mega - PullRequest
0 голосов
/ 25 ноября 2018

Я использую стороннюю библиотеку для подключения к API mega.nz и не могу найти хороший алгоритм для вывода списка всех файлов в каждом каталоге.

GetChildren может быть вызван на "i"снова.Но если я сделаю это таким образом, я просто получу файлы, которые находятся в корневом каталоге.

import (
    "fmt"
    "github.com/t3rm1n4l/go-mega"
    "path"
)

func returnFileNames (mc *mega.Mega) []string {
    var files []string

    // Get children of
    a, _ := mc.FS.GetChildren(mc.FS.GetRoot())

    for _, i := range a {
        if i.GetType() != 1 { // NodeType is not a Directory
            files = append(files, path.Join("root", i.GetName()))
        } else {
            // ???
        }
    }

    return files
}
...