在使用golang进行开发,获取当前目录下文件或文件列表时候有两种库方法可以供使用。但是那种性能好,在网上没有找到详细的描述,因此自己写了两个函数,进行了下比较。最终发现ioutil的效率要高很高。
具体执行效果,获取一个D盘目录下总共340个文件,比较两个函数耗时明显发现 ioutil的效率要高很多:
下面就贴出源代码,大家在这块有更高效的处理,欢迎讨论:
package main
import (
"fmt"
"io/ioutil"
"os"
"path/filepath"
"time"
)
func GetAllFile(pathname string, s []string) ([]string, error) {
fromSlash := filepath.FromSlash(pathname)
//fmt.Println(fromSlash)
rd, err := ioutil.ReadDir(fromSlash)
if err != nil {
//log.LOGGER("Error").Error("read dir fail %v\n", err)
fmt.Println("read dir fail:", err)
return s, err
}
for _, fi := range rd {
if fi.IsDir() {
fullDir:= f