Wybór odbiorników
Część sekcji Logika i przepływ sterowania ścieżki GO w Coddy. Lekcja 9 z 68.
Skoro rozumiesz już zarówno odbiorniki wartości, jak i odbiorniki wskaźników, najważniejsze pytanie brzmi: kiedy używać każdego z nich? Decyzja zależy od tego, co Twoja metoda musi zrobić z odbiornikiem.
Użyj odbiorcy wskaźnikowego, gdy Twoja metoda musi modyfikować oryginalną strukturę. Ponieważ odbiorcy wskaźnikowi działają na rzeczywistej instancji struktury, wszelkie zmiany wprowadzone wewnątrz metody zostaną zachowane po jej zakończeniu. Jest to niezbędne w przypadku metod, które aktualizują pola, zmieniają stan lub wykonują operacje, które powinny wpływać na oryginalne dane.
Używaj odbiornika wartości, gdy Twoja metoda musi jedynie odczytać dane ze struktury, nie zmieniając ich. Odbiorniki wartości działają na kopii, dlatego doskonale nadają się do metod, które obliczają wartości, formatują dane wyjściowe lub wykonują dowolną operację niewymagającą modyfikowania oryginalnej struktury. Zapewniają też bezpieczeństwo, gwarantując, że oryginalne dane pozostaną niezmienione.
Ogólna zasada: jeśli metoda zmienia strukturę, użyj odbiornika wskaźnikowego. Jeśli metoda tylko odczytuje dane ze struktury, użyj odbiornika wartości. Takie podejście jasno pokazuje intencje Twojego kodu i pomaga zapobiegać niezamierzonym modyfikacjom danych.
Spróbuj swoich sił
Ta lekcja nie zawiera wyzwania z kodem.
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i przepływ sterowania
1Zaawansowane sterowanie przepływem
Instrukcja switch z `fallthrough`Przerywanie zagnieżdżonych pętliKontynuowanie określonej pętliInstrukcja `goto`Podsumowanie — zaawansowane sterowanie pętlami4Projekt: Prosta lista zadań
Konfiguracja projektuDodawanie zadania2Struktury i metody
Definiowanie metod dla strukturOdbiorniki przez wartośćOdbiorniki przez wskaźnikWybór odbiornikówMetody a funkcjePodsumowanie — działanie struktur5Mapy w szczegółach
Mapy strukturWskaźniki jako wartości mapSprawdzanie, czy mapy są nilPorównywanie mapPodsumowanie — licznik częstości słów3Interfejsy (podstawy)
Czym jest interfejs?Definiowanie interfejsuImplementowanie interfejsuUżywanie typów interfejsowychPusty interfejsAsercje typuPrzełącznik typówPodsumowanie – kształty i zachowaniaPoćwicz samodzielnie: Kompilator Go online