centos

CentOS readdir在Go语言中的应用

小樊
34
2025-05-21 04:28:57
栏目: 编程语言

在Go语言中,你可以使用osio/fs包来实现类似于C语言中的readdir函数的功能。下面是一个简单的示例,展示了如何在Go中读取目录内容:

package main

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

func main() {
	dir, err := os.Open(".")
	if err != nil {
		log.Fatal(err)
	}
	defer dir.Close()

	files, err := dir.Readdir(-1) // -1 表示读取所有文件,包括子目录
	if err != nil {
		log.Fatal(err)
	}

	for _, file := range files {
		fmt.Println(file.Name())
	}
}

在这个示例中,我们首先使用os.Open打开当前目录(.),然后使用Readdir方法读取目录内容。Readdir方法接受一个整数参数,表示要读取的文件数量。传递-1表示读取所有文件。

Readdir方法返回一个[]os.FileInfo切片,其中包含了目录中的所有文件和子目录。我们可以遍历这个切片并打印出每个文件和子目录的名称。

注意:在实际应用中,你可能需要根据实际需求对错误处理和目录路径进行相应的调整。

0
看了该问题的人还看了