預先準備:go get 「github.com/spf13/cobra」
// 執行rootcmd命令,在main被呼叫
func
execute()
var cfgfile string
func
init()
func
initconfig()
else
// 在home資料夾中搜尋以「.yaml」為名稱的config --config=query.yaml
viper.
addconfigpath
(home)
viper.
setconfigname
(".yaml")}
// 讀取符合的環境變數
viper.
automaticenv()
if err := viper.
readinconfig()
; err !=
nil}cobra/cmd/show.go
// use代表顯示的關鍵字show
//validargs代表use後新增的關鍵字 show items,show datas
//args判斷show後面的關鍵字只能是validargs,若不是就報錯
var showcmd =
&cobra.command
, args:cobra.onlyvalidargs,
run:
func
(cmd *cobra.command, args [
]string)}
,}// init先呼叫showcmd然後呼叫itemscmd,在命令列可以通過關鍵字show items呼叫
func
init()
cobra/cmd/items.go
var itemscmd=
&cobra.command}}
,}var(
name string
age string
hobby [
]string
)func
init()
func
showitems
(cmd *cobra.command, args [
]string
)error
iflen
(age)==0
iflen
(hobby)==0
fmt.
printf
("name :%v --\n"
, name)
fmt.
printf
("age :%v --\n"
, age)
fmt.
printf
("hobby :%v --\n"
, hobby)
}
cobra/main.go
import
"./cmd"
func
main()
cobra/query.json
Go語言 flag Go的命令列引數 命令列處理
1.命令列引數 命令列引數是指定程式執行引數的乙個常見方式。例如,go run hello.go,程式 go 使用了 run 和 hello.go 兩個引數。package main import os import fmt func main 要實驗命令列引數,最好先使用 go build 編譯乙...
Flask內建命令列工具 CLI
unix bash linux,mac,etc.flask run windows cmd flask run windows powershell flask run 設定src為當前工作目錄,並匯入hello 匯入hello.web 執行開發伺服器。不消說,不要在生產環境使用 開啟乙個互動式的p...
Flask內建命令列工具 CLI
unix bash linux,mac,etc.flask run windows cmd flask run windows powershell flask run 設定src為當前工作目錄,並匯入hello 匯入hello.web 執行開發伺服器。不消說,不要在生產環境使用 開啟乙個互動式的p...