Ich baue ein CLI-Tool, um etwas Go zu lernen. Ich fand dieses beliebte Paket, das ich für einige Befehle wie diese verwenden wollte:Verstehen von Unterbefehlen mit Go-Flags
http://godoc.org/github.com/jessevdk/go-flags#Group
https://github.com/jessevdk/go-flags
ex list todos
ex list todos --completed
ex list events
ex list todos events
ex authenticate
So wie ich es verstehe ex
ist, würde mein Haupt-Befehl sein.
list
und authenticate
sind Unterbefehle.
Aber was sind todos
und events
in diesem Szenario? Und was wäre --completed
sein. Wird --completed
Option
genannt? Das ist der Abfall, den ich sehe, aber ich bin mir nicht sicher, ob ich es richtig lese. Ich versuche ein Beispiel zu finden, das die verschiedenen Optionen für etwas wie dieses Szenario hat, aber ich konnte keins finden. Ich habe versucht mit Urfave/CLI, die zuerst gut funktionierte, bis ich eine Anforderung gefunden in der Lage sein, mehrere Entitäten an ex list
wie ex list todos events
übergeben. Danke im Voraus!
Am unteren Rand von fly.go in Zeile 50 befindet sich 'var Fly FlyCommand'. Warum ist das nötig? Können Sie den FlyCommand nicht von einem anderen Paket ohne diese Erklärung in Zeile 50 referenzieren? – Crystal
Ja, das ist, um eine tatsächliche 'Instanz' der 'FlyCommand'-Struktur zu erzeugen, so dass sie mit Werten gefüllt werden kann. Sie werden in der Funktion 'main()' sehen, dass die Adresse dieser Variablen an den Parser in 'NewParser()' übergeben wird. Wenn dann 'Parse()' aufgerufen wird, füllt go-flags entsprechende Felder durch die Befehls-/Optionsstruktur. – Corbin