Command line 如何在Go中获取命令行参数,而不使用;旗帜;包裹
我正在尝试为Go编写一个GNU风格的命令行解析器,因为Command line 如何在Go中获取命令行参数,而不使用;旗帜;包裹,command-line,go,Command Line,Go,我正在尝试为Go编写一个GNU风格的命令行解析器,因为flags包还不能处理所有这些: program -aAtGc --long-option-1 argument-to-1 --long-option-2 -- real-argument 显然,我不想使用标志包,因为我正在尝试替换它。还有其他方法可以到达命令行吗?别客气 package main import ( "fmt" "os" ) func main() { args := os.Args fm
flags
包还不能处理所有这些:
program -aAtGc --long-option-1 argument-to-1 --long-option-2 -- real-argument
显然,我不想使用标志
包,因为我正在尝试替换它。还有其他方法可以到达命令行吗?别客气
package main
import (
"fmt"
"os"
)
func main() {
args := os.Args
fmt.Printf("%d\n", len(args))
for i := 0; i<len(args); i++ {
fmt.Printf("%s\n", args[i])
}
}
主程序包
进口(
“fmt”
“操作系统”
)
func main(){
args:=os.args
fmt.Printf(“%d\n”,len(args))
对于i:=0;ios.Args的第一个参数是go文件的名称,因此要仅获取命令行参数,应该执行以下操作
package main
import (
"fmt"
"os"
)
func main() {
args := os.Args[1:]
for i := 0; i<len(args); i++ {
fmt.Println(args[i])
}
}
主程序包
进口(
“fmt”
“操作系统”
)
func main(){
args:=os.args[1:]
对于i:=0;我正在寻找这方面的实现,只是想知道你是否完成了它/开源了代码?谢谢你的解决方案。我不知道这是否相关。但其他人可能会发现它很有用。有两种方法可以运行它。1)运行build prog.go./prog hello world slappa 2)运行prog.go hello world slappa