Mutasi di Tempat dengan inout
Izinkan fungsi mengubah nilai milik pemanggil.
Mutasi di Tempat dengan inout 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.
Terkadang Anda Harus Mengubahnya
Peminjaman hanya memungkinkan Anda membaca. Namun terkadang fungsi perlu benar-benar mengubah nilai milik pemanggil, misalnya menaikkan penghitung. ✏️
Kenali inout
Konvensi inout memberikan akses yang dapat diubah kepada fungsi. Perubahan yang Anda lakukan di dalam fungsi akan tercermin kembali pada variabel pemanggil.
Masuk dan Keluar
Namanya sudah menjelaskan semuanya: nilainya masuk, Anda mengubahnya, lalu nilai yang diperbarui kembali ke pemanggil. Tidak ada salinan yang dikembalikan.
Menandai Parameter
Anda menulis inout sebelum nama parameter. Sekarang, penugasan di dalam fungsi langsung memperbarui variabel asli.
fn increment(inout n: Int):
n += 1Memanggilnya
Teruskan sebuah variabel dan lihat perubahannya setelah pemanggilan. Fungsi mengedit nilai milik pemanggil secara langsung, tanpa memerlukan nilai kembalian.
var count = 5
increment(count)
print(count) # 6Harus Dapat Diubah
Argumen yang Anda teruskan ke parameter inout harus berupa var yang dapat diubah. Anda tidak dapat memberinya literal tetap atau nilai pinjaman.
Eksklusif Selama Dipinjam
Selama fungsi memegang referensi inout, tidak ada hal lain yang boleh menyentuh nilai tersebut. Aturan eksklusivitas ini mencegah perubahan yang saling bertentangan.
Tanpa Salinan Tersembunyi
Seperti peminjaman, inout bekerja berdasarkan referensi, sehingga tidak ada salinan penuh. Anda dapat melakukan mutasi tanpa biaya penggandaan.
Pemanggil Tetap Memilikinya
Dengan inout, pemanggil tetap memegang kepemilikan. Fungsi hanya meminjamnya secara mutable selama pemanggilan berlangsung, lalu mengembalikan kendali.
Kapan Memilih inout
Gunakan inout saat seluruh tugas fungsi adalah memperbarui nilai yang akan terus digunakan oleh pemanggil, misalnya memperbesar buffer atau mengatur ulang suatu bidang.
Baca vs Mutasi, Berdampingan
Sejauh ini: borrowed berarti hanya membaca, sedangkan inout berarti membaca dan menulis. Memilih yang tepat memberi tahu pembaca dengan jelas apa yang dilakukan fungsi.
Pemeriksaan Singkat
Mari kita periksa apa yang dimungkinkan oleh inout.
Rangkuman
inout memungkinkan fungsi memutasi nilai milik pemanggil secara langsung, berdasarkan referensi dan tanpa salinan. Pemanggil tetap memilikinya sepanjang waktu. 🎯
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 “Mutasi di Tempat dengan inout” gratis?
Ya — teks lengkap “Mutasi di Tempat dengan inout” 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 “Mutasi di Tempat dengan inout”?
Izinkan fungsi mengubah nilai milik pemanggil. 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 “Mutasi di Tempat dengan inout” 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
- Meminjam Argumen Hanya-Baca
- Mutasi di Tempat dengan inout
- Mengambil Kepemilikan dengan owned
- Operator Transfer