go 文件路径操作
Posted lishuangquan1987
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go 文件路径操作相关的知识,希望对你有一定的参考价值。
测试目录下的文件如下:
- main.go
- 1.txt
- ./a/b/2.txt
获取指定文件夹下的所有文件(不递归)
package main
import (
"fmt"
"io/ioutil"
)
func main()
baseDir := "./"
fileInfos, _ := ioutil.ReadDir(baseDir)
for _, f := range fileInfos
if f.IsDir()
continue
fmt.Println(f.Name())
输出:
PS E:\\Go Project\\pathtest> go run main.go
1.txt
main.go
获取指定文件夹下的所有文件(递归)
package main
import (
"fmt"
"io/ioutil"
"path/filepath"
)
func main()
baseDir := "./"
files := ReadFiles(baseDir)
for _, file := range files
fmt.Println(file)
func ReadFiles(dir string) []string
result := make([]string, 0)
fileInfos, _ := ioutil.ReadDir(dir)
for _, f := range fileInfos
if f.IsDir()
result = append(result, ReadFiles(filepath.Join(dir, f.Name()))...)
else
result = append(result, filepath.Join(dir, f.Name()))
return result
输出:
PS E:\\Go Project\\pathtest> go run main.go
1.txt
a\\b\\2.txt
main.go
路径拼接
路径:./a/b/2.txt
实现拼接:
func main()
baseDir := "./"
aDir := "a"
bDir := "b"
file := "2.txt"
absFilePath := filepath.Join(baseDir, aDir, bDir, file)
fmt.Println(absFilePath)
输出:
PS E:\\Go Project\\pathtest> go run main.go
a\\b\\2.txt
以上是关于go 文件路径操作的主要内容,如果未能解决你的问题,请参考以下文章