使用 Go 讀取命令列介面參數

前言

Go 有許多套件可以實作 CLI 工具,本文僅使用原生的方法達成目的。

做法

建立一個 Option 結構體,並假設有 FileLocale 兩個參數。此處使用 StringVar 方法讀取字串參數,將讀取的值設置到指定屬性。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var (
option Option
)

type Option struct {
File string
Locale string
}

func main() {
flag.StringVar(&option.File, "f", "", "config file")
flag.StringVar(&option.Locale, "l", "", "locale")
flag.Parse()
}

執行。

1
go run main.go -f test.yaml -l en