发布时间:2024-12-23 03:16:02
下面是一个简单的示例,展示如何打印出所有的命令行参数:
```go package main import ( "fmt" "os" ) func main() { args := os.Args[1:] for _, arg := range args { fmt.Println(arg) } } ``` 上述代码中,`os.Args[1:]` 表示从第二个参数开始,也就是除去执行文件本身的参数。然后,我们通过 `for` 循环遍历并打印出每一个参数。下面是一个示例,展示如何使用 `flag` 包解析命令行参数:
```go package main import ( "flag" "fmt" ) func main() { var name string var age int flag.StringVar(&name, "name", "", "your name") flag.IntVar(&age, "age", 0, "your age") flag.Parse() fmt.Println("Name:", name) fmt.Println("Age:", age) } ``` 上述代码中,我们首先定义了两个变量 `name` 和 `age`,用于保存命令行参数。然后,通过调用 `flag.StringVar()` 和 `flag.IntVar()` 分别为这两个变量绑定了对应的参数标识,并提供了默认值和说明。最后,我们调用 `flag.Parse()` 来解析命令行参数,并将其赋值给相应的变量。下面是一个示例,展示如何执行命令并获取输出:
```go package main import ( "fmt" "os/exec" ) func main() { cmd := exec.Command("echo", "Hello, World!") out, err := cmd.Output() if err != nil { fmt.Println("Failed to execute command:", err) return } fmt.Println("Output:", string(out)) } ``` 上述代码中,我们使用 `exec.Command()` 函数创建了一个执行命令的对象,并指定了要执行的命令及其参数。然后,我们调用 `cmd.Output()` 来执行命令,并获取其输出。最后,我们将输出打印到控制台。