读取目录中所有文件并递归遍历子目录的代码示例:

package main

import (
    "fmt"
    "io/fs"
    "os"
)

func main() {
    // 要读取的目录路径
    dirPath := "./example"

    // 递归读取目录中所有文件
    err := readDirRecursive(dirPath)
    if err != nil {
        fmt.Println(err)
    }
}

func readDirRecursive(dirPath string) error {
    // 读取目录中所有文件和子目录
    entries, err := os.ReadDir(dirPath)
    if err != nil {
        return err
    }

    // 遍历所有文件和子目录
    for _, entry := range entries {
        if entry.IsDir() {
            // 如果是子目录,递归读取子目录中的文件
            subDirPath := dirPath + "/" + entry.Name()
            err = readDirRecursive(subDirPath)
            if err != nil {
                return err
            }
        } else {
            // 如果是文件,打印文件路径
            filePath := dirPath + "/" + entry.Name()
            fmt.Println(filePath)
        }
    }

    return nil
}

在上述代码中,readDirRecursive函数用于递归读取目录中的所有文件和子目录。首先,它通过os.ReadDir函数读取目录中的所有文件和子目录。然后,它遍历所有文件和子目录,如果是子目录,则递归调用readDirRecursive函数读取子目录中的文件;如果是文件,则打印文件路径。最后,函数返回nil表示读取成功,或返回读取过程中遇到的错误

osReadDirz递归读取目录中所有文件如果包含目录接着遍历读取

原文地址: https://www.cveoy.top/t/topic/fsRb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录