golang 参数怎么解析
时间: 2023-11-28 15:05:11 浏览: 76
在 Golang 中,参数解析通常使用标准库中的 `flag` 包来完成。该包提供了一种简单的方式来解析命令行参数,并将它们转换为程序中的变量。
以下是一个示例程序,演示了如何使用 `flag` 包解析命令行参数:
```go
package main
import (
"flag"
"fmt"
)
func main() {
// 定义命令行参数
var name string
var age int
var male bool
flag.StringVar(&name, "name", "", "姓名")
flag.IntVar(&age, "age", 0, "年龄")
flag.BoolVar(&male, "male", false, "性别")
// 解析命令行参数
flag.Parse()
// 打印结果
fmt.Println("姓名:", name)
fmt.Println("年龄:", age)
fmt.Println("性别:", male)
}
```
在上面的示例中,我们使用了 `flag.StringVar`、`flag.IntVar` 和 `flag.BoolVar` 来定义三个命令行参数。这些函数的第一个参数是一个指向变量的指针,用于存储解析后的值。第二个参数是命令行参数的名称,第三个参数是默认值,第四个参数是说明。
接着,我们调用 `flag.Parse()` 来解析命令行参数。最后,我们打印出解析后的结果。
例如,如果我们执行以下命令:
```
go run main.go -name Jack -age 20 -male=true
```
则程序的输出为:
```
姓名: Jack
年龄: 20
性别: true
```
阅读全文