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ągFunkcja 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 MainW 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 MainPoprzedni kod powinien zwrócić domyślną wartość określonych flag. Przykładowe dane wyjściowe podano poniżej:
STR: RootGolang 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 = truePoprzedni program powinien zwrócić dane wyjściowe, jak pokazano:
STR: DeweloperAby uzyskać automatycznie generowaną pomoc, możemy użyć flagi -H. Przykładem jest jak pokazano:
./flaga.exe -hPoprzednie polecenie powinno powrócić jako:
-ExecJeś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żytkownikMoż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.