Go 语言中的命令行参数处理

GolangGolangBeginner
立即练习

This tutorial is from open-source community. Access the source code

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

本实验的目的是练习在 Go 语言中使用命令行参数。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL go(("`Golang`")) -.-> go/CommandLineandEnvironmentGroup(["`Command Line and Environment`"]) go/CommandLineandEnvironmentGroup -.-> go/command_line("`Command Line`") subgraph Lab Skills go/command_line -.-> lab-15462{{"`Go 语言中的命令行参数处理`"}} end

命令行参数

该程序目前会打印出传递给它的原始命令行参数。不过,需要对其进行修改,以便根据参数的索引打印出特定的参数。

  • 具备 Go 语言的基础知识
  • 熟悉命令行参数
## 要试验命令行参数,最好先使用 `go build` 构建一个二进制文件。
$ go build command-line-arguments.go
$./command-line-arguments a b c d
[./command-line-arguments a b c d]
[a b c d]
c

## 接下来,我们将研究使用标志进行更高级的命令行处理。

以下是完整代码:

// [_命令行参数_](https://en.wikipedia.org/wiki/Command-line_interface#Arguments)
// 是对程序执行进行参数化的常用方式。
// 例如,`go run hello.go` 使用 `run` 和
// `hello.go` 作为 `go` 程序的参数。

package main

import (
	"fmt"
	"os"
)

func main() {

	// `os.Args` 提供对原始命令行
	// 参数的访问。请注意,此切片中的第一个值
	// 是程序的路径,而 `os.Args[1:]`
	// 包含传递给程序的参数。
	argsWithProg := os.Args
	argsWithoutProg := os.Args[1:]

	// 你可以使用普通索引获取单个参数。
	arg := os.Args[3]

	fmt.Println(argsWithProg)
	fmt.Println(argsWithoutProg)
	fmt.Println(arg)
}

总结

在本实验中,我们学习了如何在 Go 语言中访问和打印特定的命令行参数。通过使用 os.Args 变量并对其进行索引,我们可以轻松访问传递给程序的参数。

您可能感兴趣的其他 Golang 教程