gpt4 book ai didi

go - Go 中类似 getopt 的行为

转载 作者:IT老高 更新时间:2023-10-28 13:04:55 24 4
gpt4 key购买 nike

如何很好地解析程序参数列表并自动处理“--help”和/或“--version”(例如“program [-d value] [--abc] [FILE1] ") 在 Go 中?

最佳答案

Google 已创建 getopt包(import "github.com/pborman/getopt"),它提供了更标准的命令行解析(与'flag'包相比)。

package main

import (
"fmt"
"os"
"github.com/pborman/getopt"
)

func main() {
optName := getopt.StringLong("name", 'n', "", "Your name")
optHelp := getopt.BoolLong("help", 0, "Help")
getopt.Parse()

if *optHelp {
getopt.Usage()
os.Exit(0)
}

fmt.Println("Hello " + *optName + "!")
}

 

$ ./hello --help
Usage: hello [--help] [-n value] [parameters ...]
--help Help
-n, --name=value Your name

$ ./hello --name Bob
Hello Bob!

关于go - Go 中类似 getopt 的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1714236/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com