13.08-解析命令列參數
當我們在終端機執行指令時,可能需要傳遞參數給指令,如下列的 go
指令所示:
go run myfile.go
run 與 myfile.go 都是參數,我們也可以將旗標(flag)傳遞給參數:
go run -v myfile.go
flag package 可以讓我們的程式解析參數與旗標,這裡有一個範例程式,可以產生一個 0 ~ 6 的數字,我們透過將旗標(-max=100)傳遞給程式,以更改最大值(max value):
package main
import ("fmt";"flag";"math/rand")
func main() {
// Define flags
maxp := flag.Int("max", 6, "the max value")
// Parse
flag.Parse()
// Generate a number between 0 and max
fmt.Println(rand.Intn(*maxp))
}
不屬於旗標的那些額外參數可以使用 flag.Args()
進行解析,而這個函式會傳回一個 []string
。
Last updated