Method __moveinit__
Tentukan cara tipe Anda berpindah.
Method __moveinit__ adalah pelajaran Mojo Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Mojo Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Mojo Academy mencakup 4 pelajaran total.
Menentukan Cara Memindahkan
Untuk memindahkan nilai, Mojo memanggil metode khusus bernama __moveinit__. Metode ini membangun instans baru dengan mengambil alih instans lama. 🚚
Berjalan Saat Transfer
Saat Anda menggunakan operator transfer tanda sisipan, __moveinit__ dijalankan. Metode ini merelokasi nilai alih-alih menggandakan datanya.
var b = a^ # calls __moveinit__Tanda Tangan Metode
Metode ini menerima instans baru dan nilai sumber owned. Karena sumbernya dimiliki, Anda dapat langsung mengonsumsinya.
fn __moveinit__(out self, owned existing: Self):
self.ptr = existing.ptrAmbil, Jangan Salin
Triknya adalah mentransfer sumber daya seperti penunjuk heap dari sumber ke instans baru, alih-alih melakukan alokasi lagi.
Tanpa Pelepasan Ganda
Setelah pemindahan, sumber tidak boleh membebaskan data yang telah diserahkannya. Mojo menangani hal ini agar buffer dimiliki tepat oleh satu instans.
Hemat untuk Nilai Besar
Karena __moveinit__ mengubah kepemilikan alih-alih mengklon byte, pemindahan buffer yang sangat besar hampir tidak memerlukan biaya. Di situlah keuntungannya dalam hal kecepatan.
Sumber Menjadi Tidak Valid
Setelah dipindahkan, sumber telah dikonsumsi. Mojo mencegah Anda membacanya, sehingga Anda dijamin tidak pernah menyentuh data yang telah direlokasi.
Sering Kali Dibuatkan Secara Otomatis
Seperti penyalinan, biasanya Anda tidak perlu menulisnya. Dengan mengikuti Movable, Mojo dapat membuat __moveinit__ untuk setiap bidang secara otomatis.
Kapan Menulisnya Sendiri
Sesuaikan __moveinit__ saat tipe Anda memiliki sumber daya yang memerlukan serah terima eksplisit, seperti penunjuk yang dikelola secara manual.
Berpasangan dengan Salinan
Sebuah tipe dapat menentukan penyalinan dan pemindahan sekaligus. Mojo kemudian memilih yang lebih hemat, yaitu pemindahan setiap kali sumber tidak lagi diperlukan.
Memungkinkan Kepemilikan Hemat
__moveinit__ membuat transfer kepemilikan menjadi cepat dan aman. Metode ini memungkinkan nilai mengalir melalui program tanpa penggandaan yang boros.
Pemeriksaan Singkat
Mari kita periksa penginisialisasi pemindahan.
Rangkuman
__moveinit__ menentukan cara tipe Anda dipindahkan, dengan menyerahkan sumber daya ke instans baru secara efisien dan mengonsumsi sumbernya. 🎯
Belajar Mojo dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Method __moveinit__” gratis?
Ya — teks lengkap “Method __moveinit__” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Mojo Academy, upgrade ke CoddyKit PRO. Kursus Mojo Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Method __moveinit__”?
Tentukan cara tipe Anda berpindah. Kamu berlatih Mojo Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Mojo Academy?
Tidak diperlukan pengalaman sebelumnya. Mojo Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Method __moveinit__” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Mojo Academy ini?
Ya. Setiap pelajaran Mojo Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Semantik Salin vs Pindah
- Method __copyinit__
- Method __moveinit__
- Pemusnahan dan __del__