https://github.com/issue9/cmdopt
cmdopt
https://github.com/issue9/cmdopt
command
Last synced: 5 months ago
JSON representation
cmdopt
- Host: GitHub
- URL: https://github.com/issue9/cmdopt
- Owner: issue9
- License: mit
- Created: 2019-05-16T13:53:09.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2025-04-01T05:41:02.000Z (about 1 year ago)
- Last Synced: 2025-04-01T06:28:55.369Z (about 1 year ago)
- Topics: command
- Language: Go
- Homepage: https://pkg.go.dev/github.com/issue9/cmdopt
- Size: 58.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
cmdopt
[](https://github.com/issue9/cmdopt/actions?query=workflow%3AGo)
[](https://opensource.org/licenses/MIT)
[](https://codecov.io/gh/issue9/cmdopt)
[](https://pkg.go.dev/github.com/issue9/cmdopt)

======
cmdopt 命令行选项的增强,可以轻松处理子命令。高度重用 flag 包。
```go
opt := cmdopt.New(...)
// 子命令 build,为一个 flag.FlagSet 实例
build := opt.New("build", "title", "usage", func(f *flag.FlagSet) DoFunc {
v := f.Bool("v", "false", ...)
return func(output io.Writer)error{
if v {
...
} else {
output.Write([]byte("build"))
}
}
})
// 子命令 install
install := opt.New("install", "title", "usage", func(*flag.FlagSet) DoFunc {
return func(output io.Writer)error{
output.Write([]byte("install"))
}
})
```
版权
----
本项目采用 [MIT](https://opensource.org/licenses/MIT) 开源授权许可证,完整的授权说明可在 [LICENSE](LICENSE) 文件中找到。