如何访问Go中的命令行参数?它们不会作为参数传递给main.

一个完整的程序,可能是通过链接多个包创建的,必须有一个名为main的包,并带有一个函数

func main() { ... }

已定义.函数main.main()不接受任何参数,也不返回值.

推荐答案

您可以使用os.Args变量访问命令行参数.例如,

package main

import (
    "fmt"
    "os"
)

func main() {
    fmt.Println(len(os.Args), os.Args)
}

您还可以使用flag package,它实现了命令行标志解析.

Go相关问答推荐

出口上下文值密钥的安全方法?

Pulumi-S3-当策略依赖于访问点时,如何将AccesspintPolicy附加到访问点

Go-Colly:将数据切片为POST请求

如何创建在responseWriter.Write 上返回错误的http.ResponseWriter 模拟实例?

如何测试 Zerolog 记录器引发类型错误的日志(log)事件?

如何绕过深层 xml,没有嵌套循环?

htmx 表单 + gin 无法正确读取请求正文

按位移计算结果中的差异

Golang chromedp Dockerfile

尽管存在 WaitGroup,Goroutines 似乎被打断了

使用 os/exec 和在命令行执行之间的结果莫名其妙地不同

使用 ssh 从私有 gilab 仓库导入一个 go 项目:未知修订

无法使用 Golang 扫描文件路径

如何修改go gin的默认端口?我的 8080 端口正在使用中

来自洪流公告的奇怪同行字段

Go:用于 XML 解码的嵌套 struct 中的提升字段

Golang - 使用正则表达式提取链接

如何获得Ent中数字列的总和

在 go (1.18) 的泛型上实现多态的最佳方法是什么?

Gorilla/Mux 和 Websocket 竞赛条件,这安全吗?