Golang CLI程式構建學習

2022-05-04 21:42:29 字數 2667 閱讀 6063

作業要求,以及學習參考資料

本次作業是模仿乙個比較簡單的cli程式(基於c語言),用golang重寫一遍

原cli建立要求及其 學習

參考在此之前,需要了解一些基礎知識

cli程式:可以在終端中直接直接呼叫的程式

flag的作用:在cli程式中,會有許多可選擇的引數,例如 「selpg  -s 100 -e 200」等,利用flag,可以直接獲取s,和e引數的值

對於flag的學習,參考

必選引數:例如 「gcc code.c」 必須要輸入的檔案等等

為啥要用pflag,而不是用flag呢?(當然,我也沒有很搞懂,但是它們的使用方法是類似的)

pflag 包與 flag 包的工作原理甚至是**實現都是類似的,下面是 pflag 相對 flag 的一些優勢:

除此之外,還需要了解 io 與 bufio的關係,用於檔案的讀寫

go的io庫里,讀寫檔案的方法很難用,因此需要把io封裝在bufio中。使用bufio的方法,可以更加方便

對於io和bufio的學習,參考

最後,還需要學習os/exec中的 exec.command(」命令名字「,「引數」),用來執行可能需要的列印命令

通過官方文件的學習,了解到exec.command()會返回*cmd檔案,可以用它來控制命令的輸入和輸出位置

**簡析:

cli 命令列引數,儲存的位置

main函式,先獲取cli命令列引數,然後檢查是否要把內容送去印表機,確定輸出位置。最後執行t檢索input內容,輸出。

檢查是否有列印位址引數

用pflag和os.args獲取命令列引數

處理input內容函式

使用selpg,根據要求網頁的 使用selpg

每乙個數字是一行

每乙個數字是一頁

由於沒有預設印表機,所以出現了報錯

完整**:

Cmake 構建程式

cmake 是乙個跨平台的自動化建構系統,它使用乙個名為 cmakelists.txt 的檔案來描述構建程式,可以產生標準的構建檔案,如 unix 的 makefile。cmakelists.txt 需要手工編寫,也可以通過編寫指令碼進行半自動的生成。cmake 提供了比 autoconfig 更簡...

小程式專案構建(二)

let env config require index let envlist object.keys env config import envobj from env module.exports function shake 2000 wx.vibratelong wx.showmodal ...

機器學習系統構建

首先是機器學習系統構建的流程 ng推薦方法 首先高速實現乙個可能並非非常完美的演算法系統。進行交叉驗證,畫出學習曲線去學習演算法問題之處,是high bias or high variance 細節看這篇博文介紹 bias和variance在機器學習中應用 最重要一步 錯誤分析。手工檢驗演算法錯誤學...