Flaga Golang

Flaga Golang
Flagi wiersza poleceń są ważną częścią podczas budowania aplikacji wiersza poleceń. Pozwalają nam zmodyfikować zachowanie programu. Na przykład polecenie LS w UNIX pozwala nam przekazać flagi, takie jak -l lub -A na zmianę domyślnego wyjścia.

W tym artykule poprowadzi Cię do tworzenia, używania i analizowania flag wiersza poleceń za pomocą pakietu flag z biblioteki Go Standard.

Wymagane import

Aby użyć i tworzyć flagi za pomocą pakietu flag, musimy je zaimportować. Możemy to zrobić za pomocą klauzuli importu, jak pokazano poniżej:

importować „flagi”

Po zaimportowaniu możemy go używać.

Deklaracja flagi Golang

Pakiet flag pozwala wykonać deklarację flagi dla typów ciągów, liczb całkowitych i boolean. Ta funkcjonalność jest dostarczana przez flagę.String (), flaga.Int () i flaga.Odpowiednio metody bool ().

Zbadajmy każdą metodę, aby lepiej zrozumieć, jak z nich korzystać.

Flaga.Strunowy()

Metoda ciągów w pakiecie flagi umożliwia zdefiniowanie flagi ciągów o określonej nazwie. Składnia funkcji jest jak pokazana:

FUNC String (String Nazwa, wartość, ciąg użycia) *ciąg

Funkcja przyjmuje trzy główne argumenty: nazwa flagi, wartość domyślna i komunikat użytkowania.

Następnie funkcja zwraca wskaźnik adresu do zmiennej ciągu przechowywania wartości flagi.

Poniższy przykład kodu pokazuje, jak utworzyć flagę ciągu:

Pakiet Main
import (
"flaga"
„FMT”
)
func main ()
str: = flaga.String („nazwa użytkownika”, „root”, „Określ nazwę użytkownika logowania”)

W poprzednim przykładzie kodu deklarujemy flagę ciągu typu. Ustawiamy wartość domyślną jako „root” i krótki opis jako trzeci parametr. Funkcja zwróci wskaźnik ciągów.

Flaga.Int ()

Metoda int () jest ściśle podobna do metody String (). Jednak zastosowaliśmy tę metodę do zadeklarowania flag typu int.

Przykładowy kod pokazano poniżej:

int_flag: = flaga.Int („port”, 3006, „Określ port”)

Tutaj deklarujemy flagę int za pomocą flagi.Metoda int () o wartości domyślnej 3006.

Flaga.Bool ()

Aby zdefiniować flagę logiczną, możemy użyć flagi.Metoda bool (). Przykładowy kod znajduje się poniżej:

bool_flag: = flaga.Bool („exec”, true, „Wykonaj polecenie?")

Golang Flag Parsing

Po ogłoszeniu wszystkich flag używamy flagi.Metoda parse (). Spowoduje to przeanalizowanie dostarczonych flag i pozwoli ci je używać:

flaga.Analizować()

Pamiętaj, że same flagi są wskaźnikami i nie mają faktycznej wartości. Aby uzyskać wartość, musimy odważyć się z operatorem dereferencyjnym (*).

Przykład kodu źródłowego jest jak pokazano:

Pakiet Main
import (
"flaga"
„FMT”
)
func main ()
str: = flaga.String („nazwa użytkownika”, „root”, „Określ nazwę użytkownika logowania”)
int_flag: = flaga.Int („port”, 3006, „Określ port”)
bool_flag: = flaga.Bool („exec”, true, „Wykonaj polecenie?")
flaga.Analizować()
fmt.Println („str:”, *str)
fmt.Println („int_flag:”, *int_flag)
fmt.Println („bool_flag:”, *bool_flag)

Poprzedni kod powinien zwrócić domyślną wartość określonych flag. Przykładowe dane wyjściowe podano poniżej:

STR: Root
int_flag: 3006
bool_flag: true

Golang używa flag wiersza poleceń

Aby użyć flag dla określonego programu, zaleca się skompilowanie programu i uruchomienie programu za pomocą uzyskanego pliku binarnego.

Możemy skompilować program GO do pliku binarnego za pomocą polecenia kompilacji jako:

idź budować

Na przykład, aby zbudować program flag w Go, możemy zrobić:

Idź budować flagi.Iść

Powinno to skutkować plikiem wykonywalnym, który można uruchomić z terminalu.

Aby użyć zdefiniowanych flag, możemy uruchomić program jako:

./flaga.exe -username = "programista" -port = 9000 -exec = true

Poprzedni program powinien zwrócić dane wyjściowe, jak pokazano:

STR: Deweloper
int_flag: 9000
bool_flag: true

Aby uzyskać automatycznie generowaną pomoc, możemy użyć flagi -H. Przykładem jest jak pokazano:

./flaga.exe -h

Poprzednie polecenie powinno powrócić jako:

-Exec
Wykonaj polecenie? (domyślnie prawda)
-Port int
Określ port (domyślnie 3006)
-String nazwy użytkownika
Określ nazwę użytkownika logowania (domyślnie „root”)

Jeśli określamy flagę, która nie jest zdefiniowana w programie, program zwraca komunikat o błędzie i wyświetla menu Pomoc.

Przykład:

./Flagi.exe -User = „Użytkownik”

Program powinien zwrócić dane wyjściowe podane poniżej:

$ ./flaga.exe -user = użytkownik
flaga dostarczona, ale nie zdefiniowana: -user
Wykorzystanie /flaga.exe:
-Exec
… . kadłubowy

Możesz także podać argumenty pozycyjne po flagach. Upewnij się, że argumenty pozycyjne pojawiają się po flacie. W przeciwnym razie idź traktować je jak flagi.

Wniosek

To był samouczek wprowadzający do pracy z flagami wiersza poleceń w języku programowania Go. Omówiliśmy także różne metody, takie jak flaga.String (), flaga.Int (), flaga.Bool (), parsing flagi golang, golang używają flag wiersza poleceń, a Golang używa flag wiersza poleceń. Mamy nadzieję, że ten artykuł jest pomocny. Sprawdź inne artykuły w Linux, aby uzyskać wskazówki i samouczki.