go語言cli命令列互動

2021-10-03 07:21:14 字數 1874 閱讀 9875

預先準備: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...