go - 如何在 GO 中检查命令行参数

标签 go command-line-arguments

关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

3年前关闭。




Improve this question




我正在编写一个程序,在 GO 中创建一个简单的 Web 服务器。程序应该检查命令行中传递的端口。如果没有给出端口,我想 panic 并退出程序。我认为这应该有效:

if len(os.Args < 1) {
    panic("No port number given!")
}

但出于某种原因,它说 []string 和 int 类型不匹配。如果它可以正常工作,我该如何改变它?我是 GO 新手,所以如果这是一个简单的问题,我很抱歉。

最佳答案

您应该检查标志包,通过它您可以定义传递给程序的内容并根据传递的标志采取行动:https://golang.org/pkg/flag/

关于go - 如何在 GO 中检查命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49844835/

相关文章:

go - Go 可以避免中间接口(interface)吗?

c++ - 可以在命令行参数中传递的最大字符串长度?

rust - 如何在带有 structopt crate 的子命令后使用 CLI 参数?

video - 此 ffmpeg 命令中的倒数第二个参数有什么作用?

batch-file - CMD 在参数中嵌套双引号

haskell - 如何使用 GHCi :set args on quoted strings that include functions

go - 什么是使用 goroutine 的正确方法?

go - 如何在 Go 中发送 POST 请求?

go - 从 Go 编译器获取 "undefined: distance"错误

linux - 如何使用 Golang 安装 Gin