Unabhängige FlagSets in GoLang
Einführung:
FlagSets in Go bieten einen Mechanismus zum Definieren und Parsen von Befehlszeilenflags. Während in der Dokumentation die Möglichkeit vorgeschlagen wird, unabhängige Sätze zum Implementieren von Unterbefehlen in einer Benutzeroberfläche zu erstellen, bleibt unklar, wie diese Funktionalität in der Praxis erreicht werden kann.
Frage:
Wie Können wir in GoLang unabhängige FlagSets definieren, um Unterbefehle in einer Befehlszeile zu unterstützen? Schnittstelle?
Antwort:
Unterscheidung zwischen Unterbefehlen
Um unabhängige FlagSets zu erreichen, liegt die wichtigste Unterscheidung in der Identifizierung des Unterbefehls vor dem Parsen von Flags. So geht's:
1. Erstellen Sie die FlagSets:
Definieren Sie mehrere FlagSets, eines für jeden Unterbefehl.
f1 := flag.NewFlagSet("f1", flag.ContinueOnError) reset := f2.Bool("reset", false, "")
2. Unterbefehle unterscheiden:
Untersuchen Sie die Befehlszeilenargumente, um den aktiven Unterbefehl zu identifizieren. Wenn das Präfix des Befehls beispielsweise „apply“ lautet, führen Sie FlagSet „f1“ aus.
switch os.Args[1] { case "apply": f1.Parse(os.Args[2:]) case "reset": f2.Parse(os.Args[2:]) }
Durch die Trennung der Analyse verschiedener FlagSets basierend auf Unterbefehlen können wir unabhängige Flag-Sets verwalten, die nur gelten zu ihren jeweiligen Unterbefehlen.
Das obige ist der detaillierte Inhalt vonWie erstelle ich in GoLang unabhängige FlagSets für Unterbefehle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!