golang 程式獲取命令列引數,然後根據傳遞的引數做不同的邏輯處理
os.args 變數是個string切片,我們可以通過api 手冊得知,os包裡面定義了這個變數。
var args [
]string
args保管了命令列引數,第乙個是程式名,下面通過例項來演示下如何解析命令列引數
package main
import
("fmt"
"os"
)func
main()
for_
, v :=
range cmdargs
}
編譯一把,得到乙個可執行檔案,然後通過命令列傳入引數。
dog500:demo08 dsm$ go build -o test main.go
dog500:demo08 dsm$ .
/test aa bb cc dd ee fff
共有:6 個引數
./test
aabb
ccdd
eefff
dog500:demo08 dsm$
這種方式解析命令引數不夠靈活,引數位置必須固定下來,否則程式裡面無法做業務邏輯處理。接下來介紹一種更靈活的解析方法
package main
import
("flag"
"fmt"
)func
main()
編譯部署、測試下
dog250:demo08 dsm$ .
/demo -u root -p 123
-h 8.8
.8.8
-p 9999
8.8.8
.8 root 123
9999
dog250:demo08 dsm$ .
/demo -u root -p 123
-h 8.8
.8.8
8.8.8
.8 root 123
3306
dog250:demo08 dsm$ .
/demo -u root -p 123
-h 8.8
.8.8
-pflag needs an argument:
-pusage of .
/demo:
-p int
埠 (default 3306
)-h string
主機位址 (default "localhot"
)-p string
密碼-u string
使用者名稱 (default "root"
)dog250:demo08 dsm$
是不是更加靈活了 golang獲取命令列引數
package main import fmt os func main os可以通過變數args來獲取命令引數,os.args返回乙個字串陣列。其中第乙個引數就是執行檔案的名字。package main import flag fmt func main 執行go run test.go,會得到 ...
golang獲取命令列引數方法總結
package main import fmt os func main 生成並執行 go build o main.exe main.go main.exe 小李 18歲 程式設計師結果 命令列引數數量 4 第二個引數 小李 args 0 main.exe args 1 小李 args 2 18歲...
Golang獲取命令列引數的方式
當我們希望通過命令列啟動golang程式,獲取輸入的各種形式引數時,該如何處理呢?os.args是乙個string的切片,用來儲存所有的命令列引數,包括go run main.go這部分,整體編譯後實際是生成和執行的main.exe檔案,所以第乙個引數是main.exe。示例如下 func main...