package main

import (
	"fmt"
	"os"
	"flag"
)

func argFunc1() {
	//使用flag获取复杂参数
	methodPtr := flag.String("method", "default", "method of sample")
	valuePtr := flag.Int("value", -1, "value of sample")
	flag.Parse() //要加这个命令行传入参数才有效
	fmt.Println(*methodPtr, *valuePtr)
}

func argFunc2() {
	//使用flag获取复杂参数
	var method string
	var value int
	flag.StringVar(&method,"method", "default", "method of sample")
	flag.IntVar(&value, "value", -1, "value of sample")
	flag.Parse() //要加这个命令行传入参数才有效
	flag.PrintDefaults()
}

func main() {
	//简单获取参数
	fmt.Println()
	fmt.Println(os.Args)
	fmt.Println()
	fmt.Println(os.Args[1])

	fmt.Println()

	argFunc1()

	fmt.Println()

	//argFunc2()

}

输出: