Omówmy, jak pracować z enumeratorami w Go.
Golang enum
Składnia deklarowania enum w Go jest jak pokazano:
Typ enum_namedata_typeZałóżmy, że chcemy reprezentować dni tygodnia. Najbardziej podstawową metodą jest utworzenie mapowania pożądanych wartości.
Przykład:
const (Możemy również reprezentować dni jako mapowanie ciągów, jak pokazano:
const (Teraz możesz zapytać? Co jest złego w reprezentowaniu dni tygodnia, jak pokazano powyżej? Po pierwsze, wydaje się powtarzalne i bardzo podatne na konflikty.
Załóżmy na przykład, że mamy dwa wyliczenia jako:
// jedenJeśli sprawdzimy porównanie, jako:
fmt.Println (niedziela == sterownik)Kod zwraca prawdziwie. Nie powinno tak być.
Możemy to naprawić, tworząc wyliczenie opisujące dni tygodnia. Przykładowy kod jest taki jak pokazano:
Pakiet MainTutaj definiujemy nowy typ o nazwie DaysofWeek () z liczbą całkowitą jako typ podstawowy. Pomaga to zdefiniować wartości const jako ich typu.
Aby zapewnić wyjątkowość w wartościach, możemy użyć słowa kluczowego IOTA. Słowo kluczowe stworzy kolejne zestaw unikalnych stałych wartości:
Pakiet MainPoprzedni kod zastępuje wartości zestawem kolejnych wartości liczb całkowitych.
Po ogłoszeniu enum możemy utworzyć zmienną tego typu, jak pokazano:
Pakiet MainW poprzednim kodzie deklarujemy zmienną D z typem DaysofWeek (). Następnie przypisujemy wartość do typu. Następnie możemy sprawdzić, czy wartość jest równa jednemu z enum.
Powstałe wyjście to:
Dzień tygodnia: 4Metoda String Enum
Załóżmy, że chcemy dodać bardziej opisową wiadomość. Możemy dodać metodę dla typu dni, jak pokazano:
Pakiet MainZa pomocą metody String () jest bardzo przydatne, ponieważ pozwala zaimplementować wydrukowanie łańcucha zamiast tworzenia typu enum.
Enum pomiń wartość
Jeśli chcesz pominąć wartość na liście stałych, możesz użyć pustego identyfikatora, jak pokazano:
Typ DaysofWeek Int64Wniosek
Niniejszy przewodnik obejmuje wdrażanie i pracę z wyliczającymi w języku programowania Go. Ponadto metoda ciągów enum i wartości pomijania enum zostały omówione z przykładami. Mamy nadzieję, że ten artykuł jest pomocny. Sprawdź inne artykuły w Linux, aby uzyskać więcej wskazówek i samouczków.