golang查找目录下图片

发布时间:2024-07-02 22:57:15

在Golang开发中,经常需要从目录下查找特定的文件。例如,我们可能需要查找指定文件夹下的所有图片文件。在本文中,我将分享使用Golang编写的代码来实现这个功能。

确定目录路径

首先,我们需要确定要查找的目录路径。可以通过使用标准库中的os包来获取当前程序所在的目录。例如:

dir, err := os.Getwd()
if err != nil {
    fmt.Println(err)
    return
}

这里的Getwd函数会返回当前程序所在的目录路径,并通过dir变量进行存储。

遍历目录下的所有文件

接下来,我们需要遍历目录下的所有文件和子文件夹。可以使用filepath.Walk函数来实现这个功能。代码如下:

err := filepath.Walk(dir, func(path string, info os.FileInfo, err error) error {
    if err != nil {
        return err
    }
    // 找到一个文件
    if !info.IsDir() {
        // 判断文件是否为图片文件
        if isImageFile(path) {
            fmt.Println(path)
        }
    }
    return nil
})
if err != nil {
    fmt.Println(err)
    return
}

这里的filepath.Walk函数会递归地遍历目录下的所有文件和子文件夹。在每个文件回调中,我们可以判断文件是否为图片文件,如果是就输出路径。

判断图片文件

要判断一个文件是否为图片文件,我们可以通过查看文件的扩展名来实现。以下是一个简单的函数来判断一个文件是否为图片文件:

func isImageFile(filename string) bool {
    ext := filepath.Ext(filename)
    switch strings.ToLower(ext) {
    case ".jpg", ".jpeg", ".png", ".gif":
        return true
    }
    return false
}

这里使用了filepath.Ext函数获取文件的扩展名,并通过switch语句来判断扩展名是否为图片文件的常见格式。

至此,我们已经完成了使用Golang查找目录下图片文件的代码。通过确定目录路径、遍历目录下的所有文件和判断图片文件的方式,我们可以快速地找到目录下的图片文件并进行后续处理。

相关推荐