go:命令行解析示例 使用gogf中的命令行参数解析包来实现灵活的命令行参数传递。 ```go "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/os/gcmd" "github.com/gogf/gf/v2/os/gctx" type Main struct { g.Meta `root:"main" name:"tools"` } type MainInput struct { g.Meta `name:"main" brief:"工具"` Cmd string `short:"c" name:"cmd" brief:"传入命令类型,如select/add_attr"` Data string `short:"d" name:"data" brief:"传入命令参数"` Force bool `short:"f" name:"force" orphan:"true" brief:"强制执行"` File string `short:"a" name:"file" brief:"指定文件路径"` } type MainOutput struct{} func (c *Main) Main(ctx context.Context, in MainInput) (out *MainOutput, err error) { // 在这里写代码,里面可以获取引用的参数 fmt.Printf("cmd: %s, data: %s, file: %s\n", in.Cmd, in.Data, in.File) } func main() { cmd, err := gcmd.NewFromObject(Main{}) if err != nil { panic(err) } // 自定义-h 的文案 // cmd.HelpFunc = func(ctx context.Context, parser *gcmd.Parser) (err error) { // fmt.Println(helpInfo) // return // } cmd.Run(gctx.New()) } ``` 来自 大脸猪 写于 2025-01-06 17:09 -- 更新于2025-01-06 17:10 -- 0 条评论