golang 獲取命令列引數

2021-10-23 02:18:23 字數 1434 閱讀 7494

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...