golang 命令行参数解析 hflag
简介 hflag 是被设计用来替代标准的 flag 库,提供更强大更灵活的命令行解析功能,相比标准库, hflag 有如下特点 支持可选参数和必选参数 支持参数缩写 支持位置参数,位置参数可以出现在任意位置 支持 bool 参数简写 ( -aux 和 -a -u -x 等效) 支持值参数缩写 ( -p123456 和 -p 123456 等效) 更多类型的支持,支持 net.IP , time.Time , time.Duration , []int , []string 的解析 更友好的用法帮助 提供一套更简洁的 api 完全兼容 flag 接口 用法 hflag 提供两套 api ,一套完全兼容标准库的 flag 接口,另一套类似 python 的 argparse 先定义 flag ,在使用时从 flag 中获取 新接口 package main import ( "fmt" "github.com/hpifu/go-kit/hflag" ) func main() { hflag.AddFlag("int", "int flag", hflag.Required(), hflag.Shorthand("i"), hflag.Type("int"), hflag.DefaultValue("123")) hflag.AddFlag("str", "str flag",