欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

go遞歸文件夾中有json的文件

黃文隆2年前9瀏覽0評論

Go語言是一種適合處理文件操作的編程語言,其強大的遞歸功能可以方便地處理文件夾中的文件。本文將介紹如何使用Go語言遞歸文件夾中的json文件。

首先,我們需要定義一個遞歸方法來遍歷文件夾中的所有文件,同時過濾出我們需要的json文件。代碼如下:

func readDir(path string) {
dir, err := ioutil.ReadDir(path)
if err != nil {
log.Fatal(err)
}
for _, file := range dir {
if file.IsDir() {
readDir(filepath.Join(path, file.Name()))
} else {
if filepath.Ext(file.Name()) == ".json" {
fmt.Println(filepath.Join(path, file.Name()))
// 在此處讀取json文件并進行相關操作
}
}
}
}

在此代碼中,我們首先使用ioutil.ReadDir方法讀取指定路徑下的所有文件和文件夾,然后使用for循環遍歷它們。當我們遇到一個文件夾時,使用遞歸方法再次遍歷它下面的所有文件和文件夾。當我們遇到一個文件時,我們可以使用filepath.Ext方法判斷它的擴展名是否為.json,如果是,則可以讀取它并進行相關操作。

上述代碼只是遍歷了文件夾中的文件,如果我們需要讀取json文件的內容,可以使用下面的代碼:

func readJSONFile(path string) {
file, err := ioutil.ReadFile(path)
if err != nil {
log.Fatal(err)
}
var data map[string]interface{}
if err := json.Unmarshal([]byte(file), &data); err != nil {
log.Fatal(err)
}
fmt.Println(data)
}

在此代碼中,我們使用ioutil.ReadFile方法讀取文件內容,然后使用json.Unmarshal將其解析為map[string]interface{}類型的數據,最后輸出這些數據。

有了上面的兩段代碼,我們就可以方便地遍歷文件夾中的json文件并進行操作了。