1. 定义结构体:
- 创建一个结构体,字段用于表示命令行参数、选项和参数。可以使用结构体标签指定字段与命令行参数的映射关系。
package main
import "github.com/gogf/gf/os/gcmd"
type CommandOptions struct {
Name string `json:"name"`
Age int `json:"age"`
Cmd string `json:"cmd"`
}
2. 解析结构体参数:
- 使用 gcmd.Parse 方法将命令行参数解析为结构体对象。
package main
import (
"fmt"
"github.com/gogf/gf/os/gcmd"
)
type CommandOptions struct {
Name string `json:"name"`
Age int `json:"age"`
Cmd string `json:"cmd"`
}
func main() {
// 定义结构体对象
options := new(CommandOptions)
// 解析命令行参数到结构体对象
if err := gcmd.Parse(options); err != nil {
fmt.Println("Parse error:", err)
return
}
// 打印解析结果
fmt.Println("Name:", options.Name)
fmt.Println("Age:", options.Age)
fmt.Println("Command:", options.Cmd)
}
3. 命令行输入示例:
- 使用如下命令行输入来测试结构化参数的解析:
go run main.go --name=John --age=30 cmdValue
输出结果: