Method __copyinit__
Tentukan cara tipe Anda menyalin dirinya sendiri.
Method __copyinit__ adalah pelajaran Mojo Academy gratis di CoddyKit. Ini adalah pelajaran 2 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 Menyalin
Saat sebuah nilai disalin, Mojo memanggil metode khusus bernama __copyinit__. Metode ini membangun instans baru dari instans yang sudah ada. 📋
Berjalan Saat Penugasan
Setiap kali penyalinan terjadi, seperti pada penugasan biasa, __copyinit__ dijalankan. Inilah pengait yang menentukan arti penyalinan tipe Anda.
Tanda Tangan Metode
Metode ini menerima instans baru yang harus diisi dan nilai yang sudah ada dan hanya dapat dibaca sebagai sumber penyalinan. Anda mengatur setiap bidang pada instans baru.
fn __copyinit__(out self, existing: Self):
self.x = existing.xInisialisasi Setiap Bidang
Di dalam __copyinit__, tugas Anda adalah memberikan nilai yang valid untuk semua bidang instans baru, biasanya dengan menirunya dari nilai yang sudah ada.
Salinan Mendalam vs Dangkal
Untuk data di heap, Anda yang menentukan: salin penunjuknya, atau alokasikan dan klon buffer tersebut. Salinan mendalam memberikan kemandirian sepenuhnya.
Mengapa Kemandirian Penting
__copyinit__ yang benar memastikan salinan memiliki datanya sendiri. Dengan begitu, pengeditan salinan tidak pernah berbalik mengubah nilai asli.
Sering Kali Dibuatkan Secara Otomatis
Anda jarang perlu menulisnya sendiri. Menandai tipe sebagai Copyable memungkinkan Mojo membuat __copyinit__ secara otomatis untuk setiap bidang.
@fieldwise_init
struct Point(Copyable):
var x: IntKapan Menulisnya Sendiri
Tulis sendiri __copyinit__ hanya saat bawaan tidak sesuai, misalnya ketika Anda mengelola buffer mentah yang perlu diklon.
Menentukan Semantik Penyalinan
Metode ini secara harfiah membuat tipe Anda dapat disalin. Tanpanya, Mojo tidak dapat menggandakan nilai Anda saat penugasan.
Jaga agar Benar dan Hemat
__copyinit__ yang baik harus benar terlebih dahulu dan ringkas setelahnya. Salin hanya yang diperlukan agar penggandaan tetap terjangkau.
Blok Bangunan Keamanan
Bersama pemindahan, __copyinit__ memberi Mojo semantik nilai yang dapat diprediksi. Anda mengendalikan dengan tepat cara data digandakan.
Pemeriksaan Singkat
Mari kita periksa penginisialisasi salinan.
Rangkuman
__copyinit__ menentukan cara tipe Anda menyalin dirinya sendiri dengan membangun instans independen. Mojo sering membuatnya secara otomatis, tetapi Anda dapat menyesuaikannya. 🎯
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 __copyinit__” gratis?
Ya — teks lengkap “Method __copyinit__” 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 __copyinit__”?
Tentukan cara tipe Anda menyalin dirinya sendiri. 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 2 dari 4.
Berapa lama pelajaran “Method __copyinit__” 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__