Przejmowanie własności za pomocą owned
Przekaż wartość do funkcji.
Przejmowanie własności za pomocą owned to bezpłatna lekcja Mojo Academy na CoddyKit. To lekcja 3 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.
Trzeci sposób przekazywania
Pożyczanie służy do odczytu, a inout do edycji. Trzecia konwencja pozwala funkcji całkowicie przejąć wartość. 📦
Poznaj owned
Argument owned przekazuje własność do funkcji. Funkcja staje się właścicielem wartości i może jej używać lub ją przechowywać.
Oznaczanie parametru
Przed nazwą parametru należy napisać owned. Wewnątrz funkcja ma pełną kontrolę: może modyfikować, przechowywać lub zużyć wartość.
fn consume(owned name: String):
print(name)Funkcja staje się właścicielem
W przypadku owned czas życia wartości zostaje przeniesiony do funkcji. Po zakończeniu działania funkcja odpowiada za zniszczenie wartości.
Po co przejmować własność?
Użyj owned, gdy funkcja musi zachować wartość, na przykład przechować ją w strukturze lub kolekcji, zamiast tylko krótko ją odczytać.
Owned oznacza także możliwość modyfikacji
Ponieważ funkcja jest właścicielem wartości, może ją swobodnie zmieniać. Nie ma już wywołującego, którego trzeba chronić, ponieważ wartość należy teraz do funkcji.
Jak wartość jest przekazywana
Domyślnie Mojo przekazuje parametrowi owned świeżą kopię, więc oryginał wywołującego pozostaje nienaruszony, chyba że zażądasz przeniesienia.
Unikanie kopiowania
Jeśli nie potrzebujesz już oryginału, możesz przekazać wartość zamiast ją kopiować. To przeniesienie jest tematem następnej lekcji.
Jasny zamiar
Wybór owned informuje czytających, że funkcja będzie zachowywać wartość. Sygnatura od razu opisuje drogę danych.
Trzy konwencje
Masz już wszystkie trzy: borrowed odczytuje, inout modyfikuje w miejscu, a owned przejmuje wartość. Każda konwencja wyraża jasny zamiar.
Wybór według odpowiedzialności
Zastanów się, kto powinien odpowiadać za wartość po wywołaniu. Jeśli odpowiedzią jest funkcja, wybierz owned.
Szybkie sprawdzenie
Sprawdźmy, co owned oznacza dla funkcji.
Podsumowanie
owned przekazuje własność wartości funkcji, która może ją zachować, zmienić lub zniszczyć. Używaj go, gdy funkcja musi być właścicielem danych. 🎯
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 „Przejmowanie własności za pomocą owned” jest bezpłatna?
Tak — pełny tekst „Przejmowanie własności za pomocą owned” 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 „Przejmowanie własności za pomocą owned”?
Przekaż wartość do funkcji. Ć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 3 z 4.
Ile czasu zajmuje lekcja „Przejmowanie własności za pomocą owned”?
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
- Pożyczanie argumentów tylko do odczytu
- Mutowanie w miejscu za pomocą inout
- Przejmowanie własności za pomocą owned
- Operator transferu