框架的功能:定時讀取指定路徑下的配置文件,掃描配置文件中的節點,而後拼出一個新的路徑,在該路徑下判斷任務文件夾是否該刪除,若是該路徑下的任務文件夾爲0,同時刪除該路徑。github
技能概述設計模式
經過爬樓梯形式一步步完善框架的功能安全
1,寫出經過掃描指定路徑打印該路徑下的全部文件和文件夾;併發
能夠用 ioutil.ReadDir 函數實現框架
2,加入定時器,定時打印指定路徑下的全部文件和文件夾;函數
能夠用 Ticker 實現單元測試
3,在指定路徑下添加以時間命名的文件夾,定時將其符合條件的刪除,不符合條件的刪除;測試
能夠用 Unix時間戳 實現命令行
4,在指定路徑下添加配置文件,經過掃描其節點從新拼湊成一個新的路徑輸出;
5,在從新拼湊的新路徑內建立須要定時刪除的文件夾,並判斷若是文件夾爲空,將該路徑也一併刪除
6,添加日誌系統
7,進行單元測試
三週時間從零到一搭建出了一個框架,帶給個人感觸不少。
從踩的坑來看有非法指針訪問,類型轉換,函數做用域,在步驟五中出現類比失誤,將命令行與圖形化操做界面進行類比,阻礙瞭解決思路;
get到的技能有熟悉運用了兩個設計模式,對結構體,指針的做用有了更深刻的理解,學會用Unix時間戳對文件夾進行刪除判斷,熟練使用Go語言對文件和文件夾的操做,理解進程、線程、協程之間的區別,熟練掌握Go語言的兩個併發機制 channel和 goroutine。