flag包是用来解析启动程序时传入的参数的。
package main
import (
"flag"
"fmt"
)
var c = flag.String("c", "continue", "command of c")
func main() {
flag.Parse()
fmt.Println(*c)
}
//命令行
go run ./cmd/request.go -c control
打印:control
第一参数指定参数名叫什么;第二个参数是启动程序是没有指定参数时设置成这个值;第三个参数是描述这个参数的,运行-help时显示出来;返回值是一个指向参数内容的指针(获取内容时记得带上*)。
要在执行完flag.Parse()这个函数,命令参数才能解析出来,不然访问变量只会得到默认值。
除了flag.Int()这个函数,还有其他与基本类型对于的函数,如与string对应的flag.String()、与uint64对应的flag.Uint64()等等。参数和上面的flag.Int()是一样的,只不过是类型不同罢了。