程序需要通过命令行来管理程序启动入口,因此命令行管理组件也是框架的核心组件之一。GoFrame
框架提供了强大的命令行管理模块,由gcmd
组件实现。
使用方式:
import "github.com/gogf/gf/v2/os/gcmd" |
接口文档:
https://pkg.go.dev/github.com/gogf/gf/v2/os/gcmd
gcmd
组件具有以下显著特性:
Parser
命令行自定义解析Cobra
比较Cobra
是Golang
中使用比较广泛的命令行管理库,开源项目地址:https://github.com/spf13/cobra
GoFrame
框架的gcmd
命令行组件与Cobra
比较,基础的功能比较相似,但差别比较大的在于参数管理方式以及可观测性支持方面:
gcmd
组件支持结构化的参数管理,支持层级对象的命令行管理、方法自动生成命令,无需开发者手动定义手动解析参数变量。gcmd
组件支持自动化的参数类型转换,支持基础类型以及复杂类型。gcmd
组件支持可配置的常用参数校验能力,提高参数维护效率。gcmd
组件支持没有终端传参时通过配置组件读取参数方式。gcmd
组件支持链路跟踪,便于父子进程的链路信息传递。