Kann der Standardwert im Flag-Paket in Go nicht gesetzt werden? Zum Beispiel im Flag-Paket können Sie die folgende Zeile schreiben:Flag-Paket in Go - muss ich immer den Standardwert setzen?
filename := flag.String("file", "test.csv", "Filename to cope with")
In dem obigen Code, mag ich nicht unbedingt Standardwert setzen, die test.csv
in diesem Fall ist, und stattdessen immer Benutzer machen angeben ihren eigenen Dateinamen, und wenn es nicht angegeben ist, dann möchte ich einen Fehler verursachen und das Programm beenden.
Einer der Art und Weise kam ich mit, dass ich zum ersten Mal den Wert von filename
überprüfen, nachdem flag.Parse()
tun, und wenn dieser Wert test.csv
ist, dann habe ich das Programm beendet mit der entsprechenden Fehlermeldung. Ich möchte jedoch solchen überflüssigen Code nicht schreiben, wenn er entzogen werden kann - und selbst wenn es nicht möglich ist, würde ich gerne einen besseren Weg hören, das Problem hier zu lösen.
Sie können durch die Art und Weise, diese Art von Operationen in Python argparse
Modul tun - ich möchte nur die ähnliche Sache implementieren, wenn ich kann ...
Außerdem kann ich kurze und lange Argumente (in anderen implementieren Wörter sowohl -f
und -file
Argument?) im Flag-Paket?
Danke.
Bitte nur eine Frage pro Frage stellen. – Kissaki