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) *StringDie 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 MainIm 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 MainDer vorherige Code sollte den Standardwert der angegebenen Flags zurückgeben. Nachfolgend finden Sie eine Beispielausgabe:
STR: WurzelGolang 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 bauenUm das Flags -Programm in Go zu erstellen, können wir beispielsweise:
Gehen Sie Flaggen auf.gehenDies 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 = trueDas vorherige Programm sollte eine Ausgabe wie gezeigt zurückgeben:
STR: EntwicklerUm automatisch generierte Hilfe zu erhalten, können wir das Flag -H verwenden. Ein Beispiel ist wie gezeigt:
./Flagge.exe -hDer vorherige Befehl sollte zurückkehren als:
-GeschäftsführerWenn 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 = BenutzerSie 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.