命令行解析(os.Args,使用flag获取复杂参数)

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()

}

输出:
命令行解析(os.Args,使用flag获取复杂参数)