Nachdem mehrere main Funktionen Gehen
Als Python und Django Entwickler, ich kann jedes Stück code in mein Projekt mit einem Skript unabhängig.
Ich bin auch nicht sicher, wie Sie zu erreichen die gleiche Sache Gehen, so wie es aussieht jedes Projekt Gehen sollte, haben nur eine zentrale ausführbare Datei.
Möchte ich eine Funktion aufrufen, die in meinem Projekt aus dem cronjob, aber ich bin mir nicht sicher, wie Sie Sie hinzufügen, dass. Mit flags in der main-Funktion ist der einzige Weg, ich kann denken, dies zu tun. Aber es schaut ziemlich verwirrend, wenn mein Skript akzeptiert zusätzliche flags von selbst, wie die folgenden:
go run server.go --debug --another-flag --script-name <MY-SCRIPT> --my-script-flag-one <FLAG-ONE> --my-script-flag-two <FLAG-TWO>
Gibt es eine elegante Möglichkeit dies zu tun?
- Sie finden diese Frage nützlich: Was ist ein vernünftiger Weg, um layout ein Go-Projekt
- Stellen Sie den code ein Paket und ein Befehl. Zum Beispiel, Kann ich eine Bibliothek haben, und binary mit dem gleichen Namen?
- einige der Verwirrung ist denken gehen, wie eine scripting-Sprache.
go run
sollte definitiv nicht verwendet werden für andere Dinge als das spielen mit einem kleinen test, z.B. etwas, das Sie würde sonst setzen Sie aufplay.golang.org
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich-Referenz in "Was ist ein vernünftiger Weg, um layout ein Go-Projekt" den Artikel "Die Strukturierung der Anwendungen im Gehen", das zeigt als ein Beispiel das Projekt camlistore.
Das Projekt umfasst verschiedene cmd-Pakete, jede mit Ihren eigenen Satz von Optionen.
Die andere Möglichkeit wäre die Verwendung von ein CLI-interface-Bibliothek wie
spf13/cobra
, das Ihnen erlaubt, zu definieren, mehrere Befehle (gleiche exe, separate Sätze von Optionen).