easycmd

package
v0.0.0-...-6bbb419 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 5, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetArgVal

func GetArgVal[T int | int64 | uint | uint64 | float64 | string | bool](c *Command, argName string) T

GetArgVal 根据EasyCmd和参数名获取值

func Run

func Run()

Run 命令行程序启动 注意:启动前要确保所有命令均已注册

Types

type Command

type Command struct {
	// contains filtered or unexported fields
}

Command 命令行程序的命令对象 它提供命令的初始化,解析,将命令行输入值绑定到处理器属性值等功能 也支持自定义注册单个命令行参数

func Build

func Build(cmdName, cmdDesc string) *Command

Build 构建 Command

func (*Command) AddParam

func (c *Command) AddParam(name string, value any, usage string) *Command

AddParam 手动注册单个命令行参数

func (*Command) BindHandler

func (c *Command) BindHandler(handler Handler) *Command

BindHandler 绑定命令处理器

func (*Command) GetArgVal

func (c *Command) GetArgVal(argName string) any

GetArgVal 根据命令行参数名获取值

func (*Command) Regis

func (c *Command) Regis()

Regis 命令注册

type Handler

type Handler interface {

	// DoHandle 命令的逻辑处理方法
	DoHandle(cmd *Command)
}

Handler 命令处理器接口,所有cmd命令必须实现该接口 实现该接口的结构体可以定义属性,属性tag可以定义命令的参数名、默认值以及参数用途描述 注意:

1、参数用途是必须定义的,未定义则认为该属性不是命令行参数
2、若默认值未定义,则取属性类型的初始值
3、若参数名未定义,则默认将字段名称首字母小写的驼峰式名称作为命令行参数名

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL