前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Golang语言情怀--第107期 go语言实现遍历目录,及查找特定的文件类型

Golang语言情怀--第107期 go语言实现遍历目录,及查找特定的文件类型

作者头像
李海彬
发布2023-10-30 16:06:39
2100
发布2023-10-30 16:06:39
举报
文章被收录于专栏:Golang语言社区Golang语言社区

最近项目有一个需求,产品配置好excel后,需要写入数据库及图片资源上传到OSS,

读取excel的数据

写入数据库

通过读取到的数据,如果涉及到图片等资源,需要上传到OSS

我们先看下一个代码实例,读取文件的:

代码语言:javascript
复制
 package main

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

 var (
     ostype = os.Getenv("GOOS") // 获取系统类型
 )

 var listfile []string //获取文件列表

 func Listfunc(path string, f os.FileInfo, err error) error {
     var strRet string
     strRet, _ = os.Getwd()
     //ostype := os.Getenv("GOOS") // windows, linux

     if ostype == "windows" {
         strRet += "\\"
     } else if ostype == "linux" {
         strRet += "/"
    }

     if f == nil {
         return err
     }
     if f.IsDir() {
         return nil
     }

     strRet += path //+ "\r\n"
     //用strings.HasSuffix(src, suffix)//判断src中是否包含 suffix结尾
     ok := strings.HasSuffix(strRet, ".go")
     if ok {

         listfile = append(listfile, strRet) //将目录push到listfile []string中
     }
     fmt.Println(strRet) //list the file

     return nil
 }

 func getFileList(path string) string {
     err := filepath.Walk(path, Listfunc) //

     if err != nil {
         fmt.Printf("filepath.Walk() returned %v\n", err)
     }

     return " "
 }

 func ListFileFunc(p []string) {
     for index, value := range p {
         fmt.Println("Index = ", index, "Value = ", value)
     }
 }

 func main() {
     var listpath string
     fmt.Scanf("%s", &listpath)
     getFileList(listpath)
     ListFileFunc(listfile)

 }

上面例子是来自网上,主要是读取特定.go文件。

项目中的结构如下:

config:配置文件,excel文件

db数据库的操作

excel关于excel的读写

file关于资源文件读取

img存放图片资源

oss关于oss上传操作

rescource关于读取配置文件的逻辑

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-10-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言情怀 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档