Pierwsze spojrzenie na mutowanie
Zmieniaj dane bez zakłócania działania innego kodu.
Pierwsze spojrzenie na mutowanie to bezpłatna lekcja Mojo Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Mojo Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Mojo Academy zawiera 4 lekcji w sumie.
Celowe zmienianie danych
Niezależne kopie są świetne, ale prawdziwe programy muszą modyfikować dane: aktualizować wynik czy powiększać listę. Zróbmy to bezpiecznie. ✏️
Modyfikowanie własnej zmiennej var
Najprostsza modyfikacja polega na ponownym przypisaniu wartości do należącej do użytkownika zmiennej var. Ponieważ jest to własna kopia, zmiana wpływa tylko na tę wartość.
var score = 10
score = score + 5Lokalne modyfikacje nie powodują efektów ubocznych
Edycja lokalnej zmiennej var nie może wpłynąć na kod poza jej zakresem. Pozostałe zmienne zachowują swoje wartości, więc zmiana nie powoduje nieoczekiwanych skutków ubocznych.
var a = 1
var b = a
a = 100Funkcje domyślnie otrzymują kopie
Przekazanie wartości do funkcji powoduje edycję jej kopii. Oryginalna wartość poza funkcją pozostaje nietknięta.
fn bump(n: Int) -> Int:
return n + 1Czasami jednak potrzebują Państwo rzeczywistej zmiany
A co, jeśli funkcja powinna zmienić wartość wywołującego bezpośrednio? Mojo pozwala włączyć takie działanie za pomocą konwencji inout.
inout oznacza modyfikację w miejscu
Oznaczenie argumentu jako inout sprawia, że funkcja działa na rzeczywistej wartości wywołującego, więc wprowadzone zmiany zostają zachowane.
fn double(inout n: Int):
n = n * 2Modyfikacja jest jawna, a nie przypadkowa
Zauważ, że trzeba było celowo zapisać inout. Mojo nigdy nie modyfikuje wartości wywołującego za jego plecami — zawsze trzeba wyrazić na to zgodę.
Sygnatura funkcji mówi, czego się spodziewać
Sygnatura funkcji ujawnia jej zamiar. Gdy widzą Państwo inout, wiadomo, że wartość może się zmienić; w przeciwnym razie należy oczekiwać bezpiecznej kopii.
Wywoływanie funkcji inout
Wywołaj funkcję z użyciem swojej zmiennej var i obserwuj, jak wartość aktualizuje się bezpośrednio w miejscu, w którym się znajduje. Funkcja celowo uzyskała dostęp do Państwa oryginalnej wartości.
var n = 4
double(n)
print(n)Zrównoważone podejście
Mojo łączy oba podejścia: domyślnie zapewnia bezpieczne kopie, a na żądanie umożliwia świadomą modyfikację. Otrzymują Państwo jednocześnie bezpieczeństwo i elastyczność.
Co dalej
To dopiero pierwszy przedsmak możliwości. Później poznają Państwo owned oraz operator transferu, które zapewniają pełną kontrolę nad sposobem przemieszczania danych. 🚀
Szybkie sprawdzenie
Chcą Państwo, aby funkcja zmieniła rzeczywistą wartość wywołującego, a nie jej kopię. Czego należy użyć?
Podsumowanie
Modyfikowanie własnej zmiennej var jest bezpieczne i lokalne. Aby zmienić wartość wywołującego, należy użyć inout; nic nie zmienia się przypadkowo. 🎯
Ucz się Mojo dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 30
- Lekcje
- 120
Często zadawane pytania
Czy lekcja „Pierwsze spojrzenie na mutowanie” jest bezpłatna?
Tak — pełny tekst „Pierwsze spojrzenie na mutowanie” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Mojo Academy, przejdź na CoddyKit PRO. Kurs Mojo Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Pierwsze spojrzenie na mutowanie”?
Zmieniaj dane bez zakłócania działania innego kodu. Ćwiczysz Mojo Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Mojo Academy?
Nie wymagamy żadnego doświadczenia. Mojo Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Pierwsze spojrzenie na mutowanie”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Mojo Academy?
Tak. Każda lekcja Mojo Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Znaczenie semantyki wartości
- Kopie a współdzielony stan
- Bezpieślna domyślność Mojo
- Pierwsze spojrzenie na mutowanie