flag-Paket in der Go - muss ich immer Standard-Wert?

Ist es nicht möglich, set default-Wert in der flag Paket-in Gehen? Zum Beispiel, in flag-Paket können Sie schreiben die folgende Zeile:

filename := flag.String("file", "test.csv", "Filename to cope with")

In dem obigen code, ich möchte nicht unbedingt festgelegt, default-Wert, der test.csv in diesem Fall, und stattdessen immer Benutzer geben Sie Ihren eigenen Namen an und wenn es nicht angegeben ist, dann möchte ich auf einen Fehler verursachen und das Programm beenden.

Einer von der Art, wie ich kam ist, dass ich zuerst überprüfen Sie den Wert der filename nach flag.Parse(), und wenn es das Wert ist test.csv dann habe ich das Programm beendet sich mit der entsprechenden Fehlermeldung. Jedoch möchte ich nicht zu schreiben, wie redundante code, wenn es kann umgangen werden - und selbst wenn er es nicht kann, würde ich gerne hören, einen besseren Weg zu bewältigen mit dem Problem hier.

Du tun können diese Art von Operationen in Python argparse Modul by the way - ich will einfach nur zu implementieren, die ähnliche Sache, wenn ich kann...

Außerdem kann ich implementieren, die sowohl kurze und lange Argumente (in anderen Worten: beide -f und -file argument?) im flag-Paket?

Dank.

Bitte nur eine Frage stellen, pro Frage.

InformationsquelleAutor Blaszard | 2013-08-25

Schreibe einen Kommentar