GO flag 命令行参数解析
所属分类 go
浏览量 882
flag用于解析命令行选项
package main
import (
"fmt"
"flag"
)
var (
intflag int
boolflag bool
stringflag string
)
func init() {
flag.IntVar(&intflag, "intflag", 0, "int flag value")
flag.BoolVar(&boolflag, "boolflag", false, "bool flag value")
flag.StringVar(&stringflag, "stringflag", "default", "string flag value")
}
func main() {
flag.Parse()
fmt.Println(intflag,boolfalg,stringflag)
}
go run flagdemo.go -h
go run flagdemo.go
int flag: 0
bool flag: false
string flag: default
go run flagdemo.go
0 false default
go run flagdemo.go -intflag 9 -boolflag true -stringflag hello
9 true default
go run flagdemo.go -intflag=9 -boolflag=1 -stringflag=hello
9 true hello
-stringflag=hello 才能解析到值
go run flagdemo.go -intflag=9 -boolflag -stringflag hello
9 true hello
这个能解析 ,应该是 boolflag 导致的
注意 boolflag !!! 很特殊 !!!!!!
go run flagdemo.go -intflag=9 -boolflag=1 -stringflag='hello world'
9 true hello world
遇到第一个非选项参数(即不是以-和--开头的)或终止符--,解析停止
go run flagdemo.go noflag -intflag=9 -boolflag=1 -stringflag=xyz
0 false default
go run flagdemo.go -intflag=9 -- -boolflag=1 -stringflag=xyz
9 false default
go run flagdemo.go -boolflag
0 true default
bool类型参数出现就为true
go run flagdemo.go -boolflag -intflag=7
7 true default
https://gitee.com/dyyx/hellocode/blob/master/web/tech/go/demo/flagdemo.go
上一篇
下一篇
http request to javabean
数据对象转换Object mapping
mysql时间函数
保险合同要点
开公司要知道的财税制度
GO panic recover