Documentation
¶
Index ¶
- Variables
- func Extend[T any](parse func(string) (T, error), format func(T) string)
- func IsExtend(t reflect.Type) (yes bool)
- func Parse()
- func ParseFlag(flag *FlagSet, args []string) (err error)
- func ParseStruct(structPtr any)
- func ParseStructE(flag *FlagSet, structPtr any, args ...string) (err error)
- func StructBind(structPtr any, flags ...*FlagSet)
- func StructBindE(structPtr any, flags ...*FlagSet) (err error)
- func StructPrint(structPtr any, print func(s string))
- func StructToArgs(structPtr any) (args []string)
- func Version(updateVer ...string) string
- type ExtendType
- type FlagSet
Constants ¶
This section is empty.
Variables ¶
View Source
var Default = func() *FlagSet { return pflag.CommandLine }
Functions ¶
func Extend ¶
Extend 为指定类型 T 注册自定义的解析和格式化函数。
parse 函数用于将字符串解析为 T 类型的值,format 函数用于将 T 类型的值格式化为字符串。
参数:
- parse: 一个函数,其输入为字符串,输出为 T 类型的值和可能的错误。用于将配置文件中的字符串值解析为实际的类型 T。
- format: 一个函数,其输入为 T 类型的值,输出为字符串。用于将类型 T 的值格式化为字符串,以便写入配置文件中。
func IsExtend ¶ added in v0.0.5
IsExtend 函数用于判断指定类型是否为扩展类型。
参数:
- t reflect.Type - 需要判断类型的 reflect.Type 实例。
返回值:
- bool - 如果类型是扩展类型,则返回 true;否则返回 false。
func Parse ¶
func Parse()
Parse 函数解析命令行参数。
- 它首先尝试使用默认配置解析命令行参数(从os.Args[1:]开始)。
- 如果解析过程中出现错误,将错误信息打印到标准错误输出,并退出程序,退出码为1。
func ParseFlag ¶ added in v0.0.5
ParseFlag 解析命令行参数。
参数:
- flag *FlagSet: 用于解析命令行参数的 FlagSet 实例。
- args []string: 命令行参数数组。
func ParseStruct ¶
func ParseStruct(structPtr any)
ParseStruct 是一个解析结构体的函数。
- 它接受一个指向结构体的指针作为参数,尝试使用默认配置解析传入的结构体。
- 如果解析失败,将错误信息打印到标准错误输出,并退出程序。
参数:
- structPtr any - 指向要解析的结构体的指针。
func ParseStructE ¶ added in v0.0.5
ParseStructE 是一个解析结构体参数的函数。
- 它首先尝试将参数绑定到指定的结构体指针上,然后解析额外的命令行参数。
参数:
- flag - 指向 FlagSet 的指针,用于处理命令行参数。
- structPtr - 任意类型的指针,预期为一个结构体指针,将从中解析参数。
- args - 可变数量的字符串参数,表示额外的命令行参数需要被解析。
func StructBind ¶
StructBind 将命令行参数绑定到指定的结构体。该函数首先尝试进行绑定操作,如果操作失败,则会打印错误信息并退出程序。
参数:
- structPtr - 指向要绑定数据的结构体的指针。
- flags - 可选的FlagSet数组,用于定义额外的标志处理规则。
func StructBindE ¶ added in v0.0.5
StructBindE 通过反射将命令行参数绑定到结构体指针上。
参数:
- structPtr: 任意类型的结构体指针,将以此为模板解析命令行参数。
- flags: 可选的FlagSet数组,用于定义命令行参数的解析规则。如果不提供,则使用默认规则。
func StructPrint ¶
StructPrint 打印结构体指针的字段信息
参数:
- structPtr: 任意类型的结构体指针,函数将通过反射获取其字段信息进行打印
- print: 一个函数,用于输出字符串,类似于fmt.Println,用于打印字段信息
func StructToArgs ¶
StructToArgs 函数将结构体指针转换为命令行参数字符串切片。
参数:
- structPtr 任意类型的结构体指针,函数将通过反射解析其字段和值。
返回值 :
- args 是包含结构体字段及其值的字符串切片,格式为 "--字段名 值"。
Types ¶
type ExtendType ¶
type ExtendType interface { // Get 用于根据传入的reflect.Value获取对应的字符串。 // // 参数: // - v - 代表要获取数据的reflect.Value。 Get(v reflect.Value) (s string) // Set 用于通过反射设置值。 // // 参数: // - v: 要设置值的反射值。 // - s: 要设置的字符串值。 Set(v reflect.Value, s string) (err error) // Type 值的类型字符串。 Type() string }
func GetExtend ¶
func GetExtend(t reflect.Type) ExtendType
GetExtend 通过反射类型获取对应的扩展类型
参数:
- t: 要获取扩展类型的反射类型
返回值:
- ExtendType: 与给定反射类型对应的扩展类型
Click to show internal directories.
Click to hide internal directories.