Mojo Academy · Pelajaran

Method __copyinit__

Tentukan cara tipe Anda menyalin dirinya sendiri.

Pelajaran 2 dari 413 langkah

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

Inisialisasi 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: Int

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

Gratis untuk memulai

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

  1. Semantik Salin vs Pindah
  2. Method __copyinit__
  3. Method __moveinit__
  4. Pemusnahan dan __del__
← Kembali ke Mojo Academy