Golang递归查找目录中指定的文件

package main

import (
    "fmt"
    "io/ioutil"
)

var matches int

func main() {
    matches := search1("./test", "data.txt")
    fmt.Println("matches:", matches)
    
}

func search1(path, queryName string) int {
    files, err := ioutil.ReadDir(path)
    fmt.Println("files-------:", files)
    if err != nil {
        fmt.Println("目录读取失败!", err.Error())
        return matches
    }   
    if len(files)<= 0 {
        return matches 
    }   
    for _, file := range files {
        name := file.Name()
        fmt.Println("name-----:", name)
        if name == queryName {
            matches++
        }   
        if file.IsDir() {
            dir := path + "/" + name
            if path == "/" {
                dir = path + name
            }   
            search1(dir, queryName)
        }   
    }   
    return matches
}   
由于版权原因,本站共享资源只供云盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件并发送到[email protected]告知,我们会在收到邮件后72小时内删除。
想开点 » Golang递归查找目录中指定的文件