登录
首页 >  Golang >  Go问答

使用 Bash getopts 在 Golang 中进行命令行参数解析

来源:stackoverflow

时间:2024-03-03 13:51:27 431浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《使用 Bash getopts 在 Golang 中进行命令行参数解析》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!

问题内容

如何在 golang 中将列表作为标志变量传递?例如,在 bash 中,您可以将列表作为 getopts 传递给脚本。类似这样的事情:

./myscript.sh -n list_of_names.txt  //some file with about 50 names

然后循环列表:

#!/bin/bash

while getopts "n:h:" options; do
  case "${options}" in
    "n") NAME=${OPTARG};;
    "h") PRINT_USAGE;;
  esac
done
for i in $NAME; do
  //TODO

我听说过“flag”包,但我不知道如何实现

ps 我是 go 的新手


正确答案


在您的示例中,您实际上只有一个必需的参数,因此您实际上不需要解析任何内容。您可以只检查切片长度:

package main
import "os"

func main() {
   if len(os.Args) != 2 {
      println("myScript ")
      os.Exit(1)
   }
   name := os.Args[1]
   println(name)
}

https://golang.org/pkg/os#Args

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《使用 Bash getopts 在 Golang 中进行命令行参数解析》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>