golang實現命令行程序的使用幫助


通過flag包我們可以很方便的實現命令行程序的參數標志,
接下來我們來看看如何實現命令行程序的使用幫助,
通常以參數標志-h--help的形式來使用.

自動生成使用幫助

我們只需要聲明其他參數標志,並執行解析,flag包會幫我們自動生成使用幫助.

//main.go
//輸出2個數,輸出較大的數
package main

import (
    "flag"
    "fmt"
    "math"
)

func main() {
    firstFlag := flag.Float64("first", 0, "第一個數")
    secondFlag := flag.Float64("second", 0, "第二個數")
    flag.Parse()
    max := math.Max(*firstFlag, *secondFlag)
    fmt.Print(max)
}

 

編譯生成后執行看看:

E:\GOPATH\src\max>max.exe -help
Usage of max.exe:
  -first float
        第一個數
  -second float
        第二個數

E:\GOPATH\src\max>max.exe -first=5 -second=66
66

 

自定義使用幫助

也許你不大喜歡或不滿足於自動生成的使用幫助,那么也你可以試試自定義使用幫助. 同樣我們使用flag包,但這里重寫了flag.Usage來實現自定義使用幫助.

//main.go
package main

import (
    "flag"
    "fmt"
)

const help = `
程序名稱: max
描述: 輸出2個數,輸出較大的數.
示例: 
1. test -help
2. max -first=5 -second=66
`

func main() {
    flag.Usage = func() {
        fmt.Print(help)
    }
    flag.Parse()
    //這里只實現使用幫助.
}

 

編譯生成后執行看看:

E:\GOPATH\src\max>max.exe -help

程序名稱: max
描述: 輸出2個數,輸出較大的數.
示例:
1. test -help
2. max -first=5 -second=66

 

參考

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM