Mojo Academy · Lekcja

Przejmowanie własności za pomocą owned

Przekaż wartość do funkcji.

Lekcja 3 z 413 kroki

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. 🎯

Bezpłatny start

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

  1. Pożyczanie argumentów tylko do odczytu
  2. Mutowanie w miejscu za pomocą inout
  3. Przejmowanie własności za pomocą owned
  4. Operator transferu
← Powrót do Mojo Academy