Gox語言例2:獲取目錄下(包括子目錄)的文件信息列表

本例的目的很明確捏萍,就是獲取某個指定的目錄(文件夾)下所有的文件列表往堡,包括其中的子目錄中的尚揣。下面直接給代碼示例比规,其中有詳細(xì)的解釋:

// 從命令行獲取要讀取文件列表的目錄,默認(rèn)為“.”讥邻,即當(dāng)前目錄
pathT = getSwitch(argsG, "-dir=", ".")

// 調(diào)用內(nèi)置函數(shù)getFileList獲取文件列表
// 除了第一個參數(shù)表示目錄外迫靖,其他參數(shù)都是可選
// 有-recursive表示也遞歸獲取所有子目錄下的文件
// -pattern=用于指定獲取文件的名字匹配模板,*代表獲取所有文件兴使,*.txt表示所有擴(kuò)展名為.txt的文件
// -exclusive=用于指定排除的文件名匹配模板
// 有-verbose開關(guān)表示輸出每一個文件路徑(所有讀到的系宜,而不是最終過濾過的)
listT = getFileList(pathT, "-recursive", "-pattern=*", "-exclusive=*.txt", "-verbose")

// 將文件列表轉(zhuǎn)換成JSON格式文本輸出
// 其中toJSON函數(shù)用于將任意對象轉(zhuǎn)換為JSON格式
// 除第一個參數(shù)外都是可選參數(shù),-sort表示編碼的字段按排序(否則Go語言中字段是會隨機排序的)
// -indent表示輸出帶縮進(jìn)的多行JSON格式
pl("%v", toJSON(listT, "-sort", "-indent"))

// 遍歷得到的文件列表发魄,并做一下比較友好的輸出
// 其中v是每次遍歷中獲得的枚舉對象盹牧,就是一條文件信息記錄
// v["Name"], v.Size是對v中各個屬性字段的兩種訪問方式
for i, v = range listT {
    pl("[%v] 文件名:%v,文件大欣住(字節(jié)):%v", i+1, v["Name"], v.Size)
}

執(zhí)行后輸出結(jié)果類似:

D:\tmp>gox getFileList.gox -dir=D:\goprjs\src\testwebview
D:\goprjs\src\testwebview
D:\goprjs\src\testwebview\go.mod
D:\goprjs\src\testwebview\go.sum
D:\goprjs\src\testwebview\testwebview.go
[
  {
    "Abs": "D:\\goprjs\\src\\testwebview\\go.mod",
    "IsDir": "false",
    "Mode": "-rw-rw-rw-",
    "Name": "go.mod",
    "Path": "D:\\goprjs\\src\\testwebview\\go.mod",
    "Size": "173",
    "Time": "20210708163913"
  },
  {
    "Abs": "D:\\goprjs\\src\\testwebview\\go.sum",
    "IsDir": "false",
    "Mode": "-rw-rw-rw-",
    "Name": "go.sum",
    "Path": "D:\\goprjs\\src\\testwebview\\go.sum",
    "Size": "6445",
    "Time": "20210708163913"
  },
  {
    "Abs": "D:\\goprjs\\src\\testwebview\\testwebview.go",
    "IsDir": "false",
    "Mode": "-rw-rw-rw-",
    "Name": "testwebview.go",
    "Path": "D:\\goprjs\\src\\testwebview\\testwebview.go",
    "Size": "1904",
    "Time": "20210708164007"
  }
]
[1] 文件名:go.mod汰寓,文件大小(字節(jié)):173
[2] 文件名:go.sum苹粟,文件大杏谢(字節(jié)):6445
[3] 文件名:testwebview.go,文件大星断鳌(字節(jié)):1904
D:\tmp>


注意:

  • Gox語言是脫胎于Go語言(Golang)的開源腳本語言毛好,解釋執(zhí)行,但相比Go語言更貼近高級語言苛秕,語法硬性限制也少一些肌访;是一門偏向快速應(yīng)用的語言,也可以說是一個集成工具艇劫;

  • Gox語言主要優(yōu)勢有三點:

    • 第一吼驶,Gox語言本身只有一個可執(zhí)行文件,綠色免配置店煞,下載即可使用蟹演,無需安裝Go語言環(huán)境,無需編譯浅缸,非常適合快速制作原型以及云服務(wù)器上的遠(yuǎn)程開發(fā)轨帜;
    • 第二,Gox中可以直接使用絕大多數(shù)Go語言標(biāo)準(zhǔn)庫中的對象和方法函數(shù)衩椒,也內(nèi)置了很多常用蚌父、優(yōu)秀的第三方庫哮兰,充分發(fā)揮Go語言多年積累的資源優(yōu)勢;
    • 第三苟弛,與很多其他主流語言不同喝滞,Gox語言著力解決了GUI圖形界面編程的問題,內(nèi)置了基于Sciter和WebView的圖形界面編程庫膏秫,直接可以進(jìn)行快捷高效的跨平臺圖形界面開發(fā)(Sciter只需下載一個動態(tài)鏈接庫文件右遭,WebView也僅在Windows系統(tǒng)下需要兩個DLL文件,執(zhí)行和分發(fā)時附帶上即可缤削,放置在系統(tǒng)路徑中或者與Gox主程序相同目錄下即可)窘哈,特別適合編寫演示原型系統(tǒng),也經(jīng)歷了一些中小型系統(tǒng)的檢驗亭敢,尤其是作為輕量級的微服務(wù)后臺滚婉。

作為腳本語言,Gox語言性能肯定不如Go語言這樣的編譯型語言快帅刀,但在大多數(shù)使用場景下性能也足夠用让腹。并且,由于Gox語言與Go語言的緊密聯(lián)系扣溺,Gox語言編寫的腳本可以很容易的改寫成Go語言代碼骇窍,編譯執(zhí)行后就可以發(fā)揮Go語言的速度優(yōu)勢了。因此锥余,Gox語言也比較適合做初期的Go語言調(diào)試腹纳。

Gox的官網(wǎng)在這里,也可以在瀏覽器搜索引擎中直接搜索“gox語言”驱犹,Github頁面在這里只估,在這里可以看到很多Gox語言的學(xué)習(xí)指南和實際應(yīng)用實例。

如果人生是一場旅行着绷,我愿沿途播撒花朵。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末锌云,一起剝皮案震驚了整個濱河市荠医,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌桑涎,老刑警劉巖彬向,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異攻冷,居然都是意外死亡娃胆,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進(jìn)店門等曼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來里烦,“玉大人凿蒜,你說我怎么就攤上這事⌒埠冢” “怎么了废封?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長丧蘸。 經(jīng)常有香客問我漂洋,道長,這世上最難降的妖魔是什么力喷? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任刽漂,我火速辦了婚禮,結(jié)果婚禮上弟孟,老公的妹妹穿的比我還像新娘贝咙。我一直安慰自己,他們只是感情好披蕉,可當(dāng)我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布颈畸。 她就那樣靜靜地躺著,像睡著了一般没讲。 火紅的嫁衣襯著肌膚如雪眯娱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天爬凑,我揣著相機與錄音徙缴,去河邊找鬼。 笑死嘁信,一個胖子當(dāng)著我的面吹牛于样,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播潘靖,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼穿剖,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了卦溢?” 一聲冷哼從身側(cè)響起糊余,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎单寂,沒想到半個月后贬芥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡宣决,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年蘸劈,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尊沸。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡威沫,死狀恐怖贤惯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情壹甥,我是刑警寧澤救巷,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站句柠,受9級特大地震影響浦译,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜溯职,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一精盅、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧谜酒,春花似錦叹俏、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至述么,卻和暖如春蝌数,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背度秘。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工顶伞, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人剑梳。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓唆貌,卻偏偏與公主長得像,于是被迫代替她去往敵國和親垢乙。 傳聞我的和親對象是個殘疾皇子锨咙,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內(nèi)容