是否可以不在 Go 中的标志包中设置默认值?例如,在 flag 包中,您可以写出以下行:
filename := flag.String("file", "test.csv", "Filename to cope with")
在上面的代码中,我不想一定设置默认值,test.csv
在这种情况下,而是总是让用户指定他们自己的文件名,如果没有指定,那么我想导致错误并退出程序。
我想出的方法之一是filename
在执行之后首先检查 的值flag.Parse()
,如果该值是,test.csv
则程序退出并显示相应的错误消息。但是,如果可以避免的话,我不想编写这样的冗余代码 - 即使不能,我也想听听这里有什么更好的方法来处理这个问题。
argparse
顺便说一下,您可以在 Python 的模块中执行此类操作-如果可以,我只想实现类似的操作...
另外,我可以实现短期和长期的争论(换句话说既-f
和-file
论证?)的标志包?
谢谢。
隔江千里
相关分类