0Pricing
Mojo Academy · Урок

Получение владения с owned

Передавайте значение функции.

«Получение владения с owned» — бесплатный урок Mojo Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Mojo Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Mojo Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

A Third Way to Pass

You have borrowed for reading and inout for editing. The third convention lets a function take over a value entirely. 📦

Meet owned

An owned argument transfers ownership into the function. The function now holds the value as its very own to use or store.

Marking the Parameter

You write owned before the parameter name. Inside, the function has full control: it can mutate, store, or consume the value.

fn consume(owned name: String):
    print(name)

The Function Becomes the Owner

With owned, the value's lifetime moves into the function. When the function ends, it is responsible for destroying the value.

Why Take Ownership?

Use owned when a function needs to keep the value, like storing it in a struct or a collection, rather than just reading it briefly.

Owned Means Mutable Too

Since the function owns the value, it may freely change it. There is no caller to protect, because the value now belongs to the function.

How the Value Arrives

By default Mojo gives an owned parameter a fresh copy, so the caller's original stays intact unless you ask to move it.

Avoiding the Copy

If you no longer need the original, you can hand the value over instead of copying it. That transfer is the topic of the next lesson.

Clear Intent

Choosing owned tells readers this function will keep the value. The signature documents the data's journey at a glance.

The Three Conventions

Now you have all three: borrowed reads, inout mutates in place, and owned takes the value over. Each maps to a clear intent.

Pick by Responsibility

Ask who should be responsible for the value after the call. If the answer is the function, reach for owned.

Quick Check

Let us check what owned means for a function.

Recap

owned hands a value's ownership to the function, which can keep, change, or destroy it. Use it when the function must own the data. 🎯

Часто задаваемые вопросы

Урок «Получение владения с owned» бесплатный?

Да — полный текст урока «Получение владения с owned» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Mojo Academy, подпишись на CoddyKit PRO. Курс Mojo Academy содержит 4 уроков всего.

Чему я научусь в уроке «Получение владения с owned»?

Передавайте значение функции. Ты практикуешь Mojo Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Mojo Academy?

Предыдущий опыт не требуется. Mojo Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Получение владения с owned»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Mojo Academy?

Да. Каждый урок Mojo Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Заимствование аргументов только для чтения
  2. Изменение на месте с inout
  3. Получение владения с owned
  4. Оператор передачи
← Назад к Mojo Academy