猿问

将命名参数传递给 Golang 工具并使用它们的最简洁方法是什么?

目标:将命名参数传递给 Golang 工具并将传递的参数用作变量


试图


编译以下示例:


package main


import (

  "fmt"

  "os"

)


func main() {

  argsWithProg := os.Args

  argsWithoutProg := os.Args[1:]

  arg := os.Args[3]


  fmt.Println(argsWithProg)

  fmt.Println(argsWithoutProg)

  fmt.Println(arg)

}

构建它并传递参数,例如:./args -a=1 -b=2 -c=3 -d=4 -e=5 -f=6,结果:


[./args -a=1 -b=2 -c=3 -d=4 -e=5 -f=6]

[-a=1 -b=2 -c=3 -d=4 -e=5 -f=6]

-c=3

基于此答案,示例中添加了以下代码段:


s := strings.Split(arg, "=")

variable, value := s[0], s[1]

fmt.Println(variable, value)

在构建它并传递参数后,输出如下:


[./args -a=1 -b=2 -c=3 -d=4 -e=5 -f=6]

[-a=1 -b=2 -c=3 -d=4 -e=5 -f=6]

-c=3

-c 3


虽然目标已经实现,但我想知道这是否是传递命名参数并在 Golang 中使用它们的最简洁的方式。


米琪卡哇伊
浏览 199回答 1
1回答

拉丁的传说

包旗import "flag"包标志实现命令行标志解析。试试flag和其他类似的包。
随时随地看视频慕课网APP

相关分类

Go
我要回答