/*
go命令行参数标记
命令行参数标记是为命令行程序指定选项参数的常用方法
wc -l -l就是一个命令行参数标记
go提供了flag包来支持基本的命令行标记解析
*/

package main

import (
    "flag"
    "fmt"
)

func main() {
    /*
       基础的标记声明适用于 string integer bool选项
       flag.String函数返回一个字符串指针 而不是一个字符串值
    */

    wordPtr := flag.String("word", "foo", "a string")
    numbPtr := flag.Int("numb", 34, "an int")
    boolPtr := flag.Bool("fork", false, "a bool")

    /*
      你也可以使用程序中定义的变量
      只要把改变量的地址传递给flag声明的函数即可
    */

    var svar string
    flag.StringVar(&svar, "svar", "bar", " a string")

    //当所有的flag声明完后 使用flag.Parse来分解命令行选项

    flag.Args()
}