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

 更新时间:2023年12月25日 08:38:47   作者: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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 简介Go语言中的select语句的用法

    简介Go语言中的select语句的用法

    这篇文章主要介绍了简介Go语言中的select语句的用法,是golang入门学习中的基础知识,需要的朋友可以参考下
    2015-10-10
  • Go语言开发必知的一个内存模型细节

    Go语言开发必知的一个内存模型细节

    这篇文章主要为大家介绍了Go语言开发必知的一个内存模型细节详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • 详解Go channel管道的运行原理

    详解Go channel管道的运行原理

    Go推荐通过通信来共享内存,而channel就实现了这一理念。那channel是怎么运行的呢?本文将带你搞懂Go channel管道的运行原理,感兴趣的同学可以参考一下
    2023-05-05
  • Golang 语言极简类型转换库cast的使用详解

    Golang 语言极简类型转换库cast的使用详解

    本文我们通过 cast.ToString() 函数的使用,简单介绍了cast 的使用方法,除此之外,它还支持很多其他类型,在这没有多多介绍,对Golang 类型转换库 cast相关知识感兴趣的朋友一起看看吧
    2021-11-11
  • golang 两个go程轮流打印一个切片的实现

    golang 两个go程轮流打印一个切片的实现

    这篇文章主要介绍了golang 两个go程轮流打印一个切片的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Golang数据类型比较详解

    Golang数据类型比较详解

    这篇文章主要围绕Golang数据类型比较详细展开,文中有详细的比较过程,需要的朋友可以参考一下
    2023-04-04
  • Go语言学习函数+结构体+方法+接口

    Go语言学习函数+结构体+方法+接口

    这篇文章主要介绍了Go语言学习函数+结构体+方法+接口,文章围绕主题的相关资料展开详细的文章说明,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • golang 调用c语言动态库方式实现

    golang 调用c语言动态库方式实现

    本文主要介绍了golang 调用c语言动态库方式实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • go-zero源码阅读之布隆过滤器实现代码

    go-zero源码阅读之布隆过滤器实现代码

    布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难,这篇文章主要介绍了go-zero源码阅读-布隆过滤器,需要的朋友可以参考下
    2023-02-02
  • Go语言实现简单的一个静态WEB服务器

    Go语言实现简单的一个静态WEB服务器

    这篇文章主要介绍了Go语言实现简单的一个静态WEB服务器,本文给出了实现代码和运行效果,学习Golang的练手作品,需要的朋友可以参考下
    2014-10-10

最新评论