[Go 编程语言] gookit/gcli v3.8:新增支持共享选项、文档生成和参数重排
GCli v3.8 这一轮补的不是花哨功能,而是写复杂 CLI 时经常会撞到的几个缺口:参数可以写在位置参数后面,结构体绑定支持更多 Go 类型,父命令可以定义会被子命令继承的共享选项,还能直接生成 markdown 和 man 文档。 如果你的 CLI 已经有多级命令、共享配置和文档生成需求,这版会少写不少胶水代码。 项目主页: github.com/gookit/gcli API 文档: pkg.go.dev/github.com/gookit/gcli/v3 完整变更: v3.5.0...v3.8.0 v3.8 补了哪些缺口 先把范围列出来: 参数乱序自动重排: myapp build src/ --name tom 也能解析到 --name 。 结构体绑定支持 []string 、 []int 、 []bool 、 time.Duration 、 map[string]string 和 enum 。 结构体绑定器移除了 unsafe 。 新增 gflag.Opt[T] / gflag.BindVar[T] 泛型 API 。 新增 Command.SharedOpts()
评论
?
参与讨论