golang獲取命令列引數

2021-09-22 02:28:54 字數 1799 閱讀 5069

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