cli

package
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: Aug 31, 2022 License: Apache-2.0 Imports: 7 Imported by: 4

Documentation

Overview

Package cli

@author: xwc1125

Package cli cli命令

@author: xwc1125 @date: 2020/10/11

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LoadConfig

func LoadConfig(configFile string, key string, result interface{}) error

LoadConfig 加载本地配置文件

func LoadConfigWithEvent added in v1.0.3

func LoadConfigWithEvent(configFile string, key string, result interface{}, event func(e fsnotify.Event)) (err error)

Types

type AppInfo

type AppInfo struct {
	App     string `json:"app"`
	Version string `json:"version"`
	Welcome string `json:"welcome"`
}

AppInfo 应用信息

type Cli

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

Cli cobra 在使用中,如果执行过中任何的Run或RunE没有执行过,那么cobra.OnInitialize(func func1) 中的func1 就不会执行

func NewCli

func NewCli(a *AppInfo) *Cli

NewCli 创建新的命令对象

func NewCliWithViper

func NewCliWithViper(a *AppInfo, _viper *viper.Viper) *Cli

NewCliWithViper 添加viper创建新的命令对象

func (*Cli) AddCommands

func (cli *Cli) AddCommands(cmds ...Command)

AddCommands 往cobra.Command添加多个命令

func (*Cli) AppInfo

func (cli *Cli) AppInfo() *AppInfo

AppInfo 获取appInfo

func (*Cli) Execute

func (cli *Cli) Execute() error

Execute 执行命令

func (*Cli) Get

func (cli *Cli) Get(key string) interface{}

Get 从配置文件中获取参数

func (*Cli) GetBool

func (cli *Cli) GetBool(key string) bool

GetBool 获取bool参数

func (*Cli) GetCommands

func (cli *Cli) GetCommands() []Command

GetCommands 获取所有的命令command

func (*Cli) GetConfigEnv

func (cli *Cli) GetConfigEnv() string

GetConfigEnv 获取环境

func (*Cli) GetConfigFile

func (cli *Cli) GetConfigFile() string

GetConfigFile 获取配置文件

func (*Cli) GetInt

func (cli *Cli) GetInt(key string) int

GetInt 获取int参数

func (*Cli) GetInt64

func (cli *Cli) GetInt64(key string) int64

GetInt64 获取int64参数

func (*Cli) GetString

func (cli *Cli) GetString(key string) string

GetString 获取字符串参数

func (*Cli) InitFlags

func (cli *Cli) InitFlags(useDefaultFlags bool, flagSetFunc func(rootFlags *pflag.FlagSet), readConfigFunc func(viper *viper.Viper)) (err error)

InitFlags 初始化flag viper 按照如下顺序查找flag key: - pflag里面的被命令行显式设置的key - 环境变量显式设置的 - 配置文件显式设置的 - KV存储的 - 通过viper设置的default flag - 如果前面都没有变化,最后使用pflag的默认值

所以在Unmarshal的时候命令行里面显式设置的flag会覆盖配置文件里面的flag 如果配置文件没有这个flag,会用pflag的默认值 @params useDefaultFlags 是否使用默认的flag:config,env @params flagSetFunc flag设置的回调函数,函数中为viper及rootFlags @params readConfigFunc 读取配置的回调函数

func (*Cli) RootCmd

func (cli *Cli) RootCmd() *cobra.Command

RootCmd 获取cobra.Command

func (*Cli) Viper

func (cli *Cli) Viper() *viper.Viper

Viper 获取viper

type Command

type Command *cobra.Command

Jump to

Keyboard shortcuts

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