Golang

关注公众号 jb51net

关闭
首页 > 脚本专栏 > Golang > golang中的fs.ReadDir

Golang语言中fs.ReadDir的全面指南

作者:KaiWenRui

欢迎来到Golang语言中fs.ReadDir的全面指南!这个简短的引导将让你掌握如何高效地使用这个功能,一起来深入探索吧,保证你会有所收获!

平时习惯了./../作为访问目录的路径,但今天使用golang中fs.ReadDir这个函数的时候发现这个习惯是不正确的。

但是常用的命令并没有分很清楚.和./在这几个命令中使用.或./都可以到达目录下

ls
cd

错误示范

package main

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

func main() {
	fsfile := os.DirFS("./")
	dir, err := fs.ReadDir(fsfile, "./")
	if err != nil {
		return
	}
	for _, file := range dir {
		fmt.Println(file.Name())
	}

}

这样写的话err会出现如下提示(奇怪的是在使用1.22.1rc这个版本中,没有任何提示,而在1.21.5版本中会出现提示没有这个目录)

readdir ./: invalid argument

这是正确的代码

package main

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

func main() {
	fsfile := os.DirFS(".") //这里使用./或者.都可以
	dir, err := fs.ReadDir(fsfile, ".")
	if err != nil {
		return
	}
	for _, file := range dir {
		fmt.Println(file.Name())
	}

}

后面查询了一下,.和..是表示目录,而./和../表示目录下,应该是这个原因吧

到此这篇关于Golang语言中fs.ReadDir的全面指南的文章就介绍到这了,更多相关golang中的fs.ReadDir内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文