Golangでディレクトリを横断する方法は何ですか?

Go言語では、ファイルパスパッケージを使用してディレクトリを走査することができます。以下は簡単な例です:

package main

import (
	"fmt"
	"os"
	"path/filepath"
)

func main() {
	// 设置要遍历的文件夹路径
	root := "/path/to/folder"

	err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
		if err != nil {
			return err
		}

		// 判断是否是文件夹
		if info.IsDir() {
			fmt.Println("文件夹:", path)
		} else {
			fmt.Println("文件:", path)
		}

		return nil
	})

	if err != nil {
		fmt.Println("遍历文件夹时发生错误:", err)
	}
}

上記の例では、フォルダを走査するために filepath.Walk 関数を使用しました。この関数はフォルダのパスを引数として受け取り、フォルダとそのサブフォルダを再帰的に走査します。各フォルダとファイルのコールバック関数では、ファイルのパスや情報(フォルダであるかどうかなど)、および可能なエラーを取得することができます。

“/path/to/folder” を適切なフォルダーのパスに置き換えるだけで、処理が完了します。

bannerAds