package main
import (
"fmt"
"os"
)func main()
os可以通過變數args
來獲取命令引數,os.args
返回乙個字串陣列。其中第乙個引數就是執行檔案的名字。
package main
import (
"flag"
"fmt"
)func main()
執行go run test.go,會得到
name: golang
year: 2009
當執行go run test.go -name=「benben」 -year=2015。將會輸出
name: benben
year: 2015
常用函式解析
1、flag.string(name string, value string, usage string)
這個方法用來定義命令列獲取的引數名稱,預設值。方法會返回乙個字串變數的位址。這個位址中儲存了flag引數的值。
func string(name string, value string, usage string) *string
func (f *flagset) string(name string, value string, usage string) *string
func (f *flagset) strin**ar(p *string, name string, value string, usage string)
func (f *flagset) var(value value, name string, usage string)
_, alreadythere := f.formal[name]
if alreadythere else
fmt.fprintln(f.output(), msg)
} if f.formal == nil
f.formal[name] = flag
}
2、flag.strin**ar(p *string, name string, value string, usage string)
這個方法和string類似,也用來定義命令列獲取的引數名稱以及預設值。只不過這個方法中沒有建立新的字串指標來儲存獲取的字串變數,而是用傳進來的引數。
func strin**ar(p *string, name string, value string, usage string)
func (f *flagset) var(value value, name string, usage string)
_, alreadythere := f.formal[name]
if alreadythere else
fmt.fprintln(f.output(), msg)
} if f.formal == nil
f.formal[name] = flag
}
3、flag.parse()
這個方法會解析命令列引數,從os.args[1:]
開始。這個函式必須在所有的flag都定義好之後,程式獲取flag之前呼叫。
func parse()
golang 獲取命令列引數
golang 程式獲取命令列引數,然後根據傳遞的引數做不同的邏輯處理 os.args 變數是個string切片,我們可以通過api 手冊得知,os包裡面定義了這個變數。var args stringargs保管了命令列引數,第乙個是程式名,下面通過例項來演示下如何解析命令列引數 package ma...
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...