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