做法
新增 main.go
檔:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| package main
import ( "flag" "fmt" "log" "os" )
var ( config Config )
type Config struct { File string OutputDir string }
func init() { flag.Usage = usage flag.StringVar(&config.File, "f", "example.txt", "source file") flag.StringVar(&config.OutputDir, "o", "dist", "output directory") flag.Parse() }
func main() { fmt.Printf("File: %s\n", config.File) fmt.Printf("OutputDir: %s\n", config.OutputDir) }
func usage() { if _, err := fmt.Fprintln(os.Stderr, "Usage: example [flags]"); err != nil { log.Fatal(err) } flag.PrintDefaults() }
|
執行編譯。
使用
使用 -h
或 -help
參數查看使用說明。
1 2 3 4 5 6
| ./go-cli-example -h Usage: example [flags] -f string source file (default "example.txt") -o string output directory (default "dist")
|
使用 -f
和 -o
參數指定使用檔案和輸出路徑。
1 2 3
| ./go-cli-example -f hello.txt -o output File: hello.txt OutputDir: output
|
程式碼