要只统计当前目录下的第一级子目录数量,可以在filepath.Walk函数的回调函数中进行判断。当dir的深度为1时,表示当前目录的第一级子目录,可以将其计数。以下是一个示例代码:

package main

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

func main() {
	dir := "." // 当前目录

	count := 0

	err := filepath.Walk(dir, func(path string, info os.FileInfo, err error) error {
		if err != nil {
			fmt.Printf("Error accessing path %q: %v\n", path, err)
			return nil
		}

		// 判断是否为当前目录的第一级子目录
		if info.IsDir() && filepath.Dir(path) == dir {
			count++
		}

		return nil
	})

	if err != nil {
		fmt.Printf("Error walking directory %q: %v\n", dir, err)
		return
	}

	fmt.Printf("Number of first-level subdirectories: %d\n", count)
}

此示例遍历指定目录及其子目录,并统计第一级子目录的数量。请将dir变量设置为你要统计的目录路径。输出结果将显示第一级子目录的数量。

filepathWalk只统计当前目录下的第一级子目录数量

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

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