Heim > Backend-Entwicklung > Golang > Wie erstelle ich in GoLang unabhängige FlagSets für Unterbefehle?

Wie erstelle ich in GoLang unabhängige FlagSets für Unterbefehle?

Linda Hamilton
Freigeben: 2024-12-09 20:38:10
Original
774 Leute haben es durchsucht

How to Create Independent FlagSets in GoLang for Subcommands?

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, "")
Nach dem Login kopieren

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:])
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage