I wydaje mi się, że nie rozumiem tego rodzaju deklaracji zmiennej:
_, prs := m["example"]
Co dokładnie „ _,
” robi i dlaczego zamiast tego zadeklarowali taką zmienną
prs := m["example"]
(Znalazłem to jako część Go by Example: Maps )
I wydaje mi się, że nie rozumiem tego rodzaju deklaracji zmiennej:
_, prs := m["example"]
Co dokładnie „ _,
” robi i dlaczego zamiast tego zadeklarowali taką zmienną
prs := m["example"]
(Znalazłem to jako część Go by Example: Maps )
prs
prawdopodobnie oznacza „obecny”. Kod w przykładzie jest sprawdzanie pod kątem obecności lub braku wpisu do"example"
wm
mapie.Odpowiedzi:
Pozwala to uniknąć konieczności deklarowania wszystkich zmiennych dla zwracanych wartości.
Nazywa się to pustym identyfikatorem .
Jak w:
( drugi
_
przypadek użycia dotyczy importu )Ponieważ odrzuca wartość zwracaną, jest to przydatne, gdy chcesz sprawdzić tylko jedną ze zwracanych wartości, jak w sekcji „ Jak sprawdzić istnienie klucza na mapie? ” Pokazanej w sekcji „ Efektywne przejście, mapa ”:
Jak dodaje Jsor w komentarzach :
To pozwala połączyć to z testem:
Znajdziesz go również w pętli:
źródło
Kompilator Go nie pozwala na tworzenie zmiennych, których nigdy nie używasz.
Powyższy kod zwróci komunikat o błędzie „zadeklarowałem i nie używam”.
Ponieważ nie używamy i wewnątrz naszej pętli, musimy to zmienić na to:
źródło
_
jest pustym identyfikatorem. Oznacza to, że wartość, którą należy przypisać, jest odrzucana.Tutaj wartość
example
klucza jest odrzucana. Druga linia kodu odrzuciłaby wartość logiczną obecności i zapisałaby wartość wprs
.Aby sprawdzić tylko obecność na mapie, możesz odrzucić wartość. Można to wykorzystać do użycia mapy jako zestawu.
źródło
Fragment:
Język programowania Go (seria Addison-Wesley Professional Computing)
Brian W. Kernighan
Ten materiał może być chroniony prawem autorskim.
źródło
Nazywa się to pustym identyfikatorem i pomaga w przypadkach, gdy chcesz odrzucić wartość, która ma zostać zwrócona i nie odwoływać się do niej
Niektóre miejsca, w których go używamy:
źródło
Zasadniczo
_,
znany jako pusty identyfikator. W GO nie możemy mieć zmiennych, które nie są używane.Na przykład podczas iteracji po tablicy, jeśli używasz value: = range , nie chcesz, aby wartość i była iterowana. Ale jeśli pominiesz wartość i, zwróci błąd. Ale jeśli zadeklarujesz i i nie użyłeś go, również zwróci błąd.
Dlatego jest to miejsce, z którego musimy skorzystać
_,
.Jest również używany, gdy nie chcesz w przyszłości zwracać wartości funkcji.
źródło
Świetnym przypadkiem użycia nieużywanej zmiennej jest sytuacja, w której potrzebujesz tylko częściowego wyniku. W poniższym przykładzie wystarczy wydrukować wartość (stan populacji).
źródło
Jeśli pochodzisz z innych języków programowania, może to być trudne przyzwyczajenie się do tego. Ale to skutkuje bardziej przejrzystym kodem. Więc używając a,
_
mówimy, że wiemy, że jest tam zmienna, ale nie chcemy jej używać i mówimy kompilatorowi, że mi na to nie narzeka. :)źródło