Golang -Flagge

Golang -Flagge
Befehlszeilenflags sind ein wichtiger Teil beim Erstellen von Befehlszeilenanwendungen. Sie ermöglichen es uns, das Verhalten eines Programms zu ändern. Mit dem Befehl LS in Unix können wir beispielsweise Flags wie -l oder -a übergeben, um die Standardausgabe zu ändern.

In diesem Artikel werden Sie mit dem Flags-Paket aus der GO-Standardbibliothek die Befehlszeilenflags erstellen, verwenden und analysieren.

Erforderliche Importe

Um Flags mit dem Flags -Paket zu verwenden und zu erstellen, müssen wir sie importieren. Wir können dies mit der Importklausel tun, wie unten gezeigt:

Importieren "Flags"

Nach dem Import können wir es verwenden, um es zu verwenden.

Golang Flaggenerklärung

Das Flags -Paket ermöglicht die Durchführung der Flag -Deklaration für String-, Ganzzahl- und Boolesche Typen. Diese Funktionalität wird durch die Flagge bereitgestellt.String (), Flag.Int () und Flagge.Bool () Methoden.

Lassen Sie uns jede Methode genau untersuchen, um besser zu verstehen, wie sie verwendet werden sollen.

Flagge.String ()

Mit der String -Methode im Flag -Paket können Sie ein String -Flag mit dem angegebenen Namen definieren. Die Funktionssyntax ist wie gezeigt:

Func String (Name Zeichenfolge, Wertzeichenfolge, Nutzungszeichenfolge) *String

Die Funktion enthält drei Hauptargumente: den Namen des Flags, den Standardwert und die Nutzungsnachricht.

Die Funktion gibt dann einen Adresszeiger auf die String -Variable zurück, die den Wert des Flags speichert.

Das folgende Codebeispiel zeigt, wie ein String -Flag erstellt wird:

Paket Main
importieren (
"Flagge"
"fmt"
)
func main ()
STR: = Flagge.String ("Benutzername", "root", "Anmelden Benutzername angeben")

Im vorherigen Code -Beispiel deklarieren wir ein Flag der Typ -Zeichenfolge. Wir setzen den Standardwert als "root" und eine kurze Beschreibung als dritter Parameter. Die Funktion gibt den String -Zeiger zurück.

Flagge.Int ()

Die int () -Methode ist der String () -Methode eng ähnlich. Wir haben diese Methode jedoch verwendet, um Flags des INT -Typs zu deklarieren.

Ein Beispielcode wird unten angezeigt:

INT_FLAG: = Flag.INT ("Port", 3006, "Geben Sie den Port an")

Hier deklarieren wir eine INT -Flagge mit der Flagge.Int () Methode mit einem Standardwert von 3006.

Flagge.Bool ()

Um eine Boolesche Flagge zu definieren, können wir die Flagge verwenden.Bool () Methode. Im Folgenden finden Sie einen Beispielcode:

bool_flag: = Flag.Bool ("exec", true, "Befehl ausführen?"))

Golang Flagge Parsen

Sobald wir alle Flaggen deklariert haben, verwenden wir die Flagge.Parse () Methode. Dadurch werden die bereitgestellten Flaggen analysiert und es Ihnen ermöglicht, sie zu verwenden:

Flagge.Analysieren ()

Denken Sie daran, die Flaggen selbst sind Hinweise und halten den tatsächlichen Wert nicht. Um den Wert zu erhalten, müssen wir mit dem Derferencing (*) Operator Dereference.

Ein Quellcode -Beispiel lautet wie gezeigt:

Paket Main
importieren (
"Flagge"
"fmt"
)
func main ()
STR: = Flagge.String ("Benutzername", "root", "Anmelden Benutzername angeben")
INT_FLAG: = Flag.INT ("Port", 3006, "Geben Sie den Port an")
bool_flag: = Flag.Bool ("exec", true, "Befehl ausführen?"))
Flagge.Analysieren ()
fmt.Println ("str:", *str)
fmt.Println ("int_flag:", *int_flag)
fmt.Println ("bool_flag:", *bool_flag)

Der vorherige Code sollte den Standardwert der angegebenen Flags zurückgeben. Nachfolgend finden Sie eine Beispielausgabe:

STR: Wurzel
INT_FLAG: 3006
bool_flag: true

Golang verwenden Befehlszeilenflags

Um die Flags für das angegebene Programm zu verwenden, wird empfohlen, das Programm zu kompilieren und das Programm mithilfe der resultierenden Binärdatei auszuführen.

Wir können ein GO -Programm für eine Binärdatei mit dem Befehl "Build" erstellen als:

Geh bauen

Um das Flags -Programm in Go zu erstellen, können wir beispielsweise:

Gehen Sie Flaggen auf.gehen

Dies sollte zu einer ausführbaren Datei führen, die Sie aus dem Terminal ausführen können.

Um die definierten Flags zu verwenden, können wir das Programm als:

./Flagge.exe -username = "Entwickler" -Port = 9000 -exec = true

Das vorherige Programm sollte eine Ausgabe wie gezeigt zurückgeben:

STR: Entwickler
INT_FLAG: 9000
bool_flag: true

Um automatisch generierte Hilfe zu erhalten, können wir das Flag -H verwenden. Ein Beispiel ist wie gezeigt:

./Flagge.exe -h

Der vorherige Befehl sollte zurückkehren als:

-Geschäftsführer
Befehl ausführen? (Standard true)
-Port int
Geben Sie den Port an (Standard 3006)
-Benutzername String
Geben Sie den Login -Benutzernamen an (Standard "root")

Wenn wir ein Flag angeben, das im Programm nicht definiert ist, gibt das Programm eine Fehlermeldung zurück und zeigt das Hilfemenü an.

Beispiel:

./Flaggen.exe -User = "Benutzer"

Das Programm sollte eine Ausgabe wie unten angegeben zurückgeben:

$ ./Flagge.exe -User = Benutzer
Flagge bereitgestellt, aber nicht definiert: -User
Verwendung von /Flagge.exe:
-Geschäftsführer
… . gekürzt

Sie können nach den Flags auch Positionsargumente vorlegen. Stellen Sie sicher, dass die Positionsargumente nach einer Flagge kommen. Andernfalls behandelt Go sie als Flaggen.

Abschluss

Dies war ein Einführungs-Tutorial zur Arbeit mit Befehlszeilenflags in der Go-Programmiersprache. Wir haben auch die verschiedenen Methoden diskutiert, wie z. B. Flag.String (), Flag.Int (), Flagge.Bool (), Golang Flag-Parsen, Golang verwenden Befehlszeilenflags und Golang verwenden Befehlszeilenflags. Wir hoffen, Sie haben diesen Artikel hilfreich gefunden. Schauen Sie sich andere Linux -Hinweis -Artikel für Go -Tipps und Tutorials an.