Golang語言中fs.ReadDir的全面指南
平時習慣了./和../作為訪問目錄的路徑,但今天使用golang中fs.ReadDir這個函數(shù)的時候發(fā)現(xiàn)這個習慣是不正確的。
但是常用的命令并沒有分很清楚.和./在這幾個命令中使用.或./都可以到達目錄下
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會出現(xiàn)如下提示(奇怪的是在使用1.22.1rc這個版本中,沒有任何提示,而在1.21.5版本中會出現(xiàn)提示沒有這個目錄)
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內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Go語言使用Swiss Table實現(xiàn)更快的map
wiss Table 是一種高效的哈希表實現(xiàn),最初由 Google 在 C++ 中引入,后來也被其他語言(如 Rust)采用,下面我們看看如何使用 Swiss Table 的思想來實現(xiàn)一個更快的 Go map2025-03-03
詳解Go如何實現(xiàn)協(xié)程并發(fā)執(zhí)行
線程是通過本地隊列,全局隊列或者偷其它線程的方式來獲取協(xié)程的,目前看來,線程運行完一個協(xié)程后再從隊列中獲取下一個協(xié)程執(zhí)行,還只是順序執(zhí)行協(xié)程的,而多個線程一起這么運行也能達到并發(fā)的效果,接下來就給給大家詳細介紹一下Go如何實現(xiàn)協(xié)程并發(fā)執(zhí)行2023-08-08
Go語言kube-scheduler深度剖析與開發(fā)之pod調度
這篇文章主要為大家介紹了Go語言kube-scheduler深度剖析與開發(fā),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04

