golang實(shí)現(xiàn)命令行程序的使用幫助功能
通過flag包我們可以很方便的實(shí)現(xiàn)命令行程序的參數(shù)標(biāo)志,接下來我們來看看如何實(shí)現(xiàn)命令行程序的使用幫助,通常以參數(shù)標(biāo)志-h或--help的形式來使用。
自動(dòng)生成使用幫助
我們只需要聲明其他參數(shù)標(biāo)志,并執(zhí)行解析,flag包會(huì)幫我們自動(dòng)生成使用幫助。
//main.go
//輸出2個(gè)數(shù),輸出較大的數(shù)
package main
import (
"flag"
"fmt"
"math"
)
func main() {
firstFlag := flag.Float64("first", 0, "第一個(gè)數(shù)")
secondFlag := flag.Float64("second", 0, "第二個(gè)數(shù)")
flag.Parse()
max := math.Max(*firstFlag, *secondFlag)
fmt.Print(max)
}編譯生成后執(zhí)行看看:
E:\GOPATH\src\max>max.exe -help
Usage of max.exe:
-first float
第一個(gè)數(shù)
-second float
第二個(gè)數(shù)E:\GOPATH\src\max>max.exe -first=5 -second=66
66
自定義使用幫助
也許你不大喜歡或不滿足于自動(dòng)生成的使用幫助,那么也你可以試試自定義使用幫助。同樣我們使用flag包,但這里重寫了flag.Usage來實(shí)現(xiàn)自定義使用幫助。
//main.go
package main
import (
"flag"
"fmt"
)
const help = `
程序名稱: max
描述: 輸出2個(gè)數(shù),輸出較大的數(shù).
示例:
1. test -help
2. max -first=5 -second=66
`
func main() {
flag.Usage = func() {
fmt.Print(help)
}
flag.Parse()
//這里只實(shí)現(xiàn)使用幫助.
}編譯生成后執(zhí)行看看:
E:\GOPATH\src\max>max.exe -help
程序名稱: max
描述: 輸出2個(gè)數(shù),輸出較大的數(shù).
示例:
1. test -help
2. max -first=5 -second=66
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)本站的支持。
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信