Mengiris dengan array[start..end]
Buat tampilan-sub tanpa menyalin.
Mengiris dengan array[start..end] adalah pelajaran Zig 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 Zig Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Zig Academy mencakup 4 pelajaran total.
Membuat Tampilan dari Sebagian Data
Terkadang Anda hanya menginginkan sebagian dari sebuah array. Slicing memungkinkan Anda mengambil subrentang sebagai slice baru tanpa menyalin elemen apa pun. ✂️
Sintaks Rentang
Tuliskan awal dan akhir di dalam tanda kurung siku, dengan dua titik di antaranya: array[start..end]. Ini menghasilkan slice atas posisi-posisi tersebut.
const part = data[1..3];Akhir Tidak Termasuk
Indeks akhir bersifat eksklusif, jadi array[1..3] mencakup posisi 1 dan 2, tetapi berhenti sebelum 3. Hasilnya memiliki panjang 2.
Slice hingga Akhir
Hilangkan bagian akhir untuk berjalan hingga elemen terakhir. data[2..] berarti semua data mulai dari indeks 2 dan seterusnya.
const tail = data[2..];Membuat Slice dari Seluruh Array
Menggunakan [0..] mengubah seluruh array menjadi slice. Ini adalah cara umum untuk menyerahkan array lengkap kepada kode yang menerima slice.
const all = data[0..];Tidak Ada Penyalinan
Slicing hanya menghitung pointer dan panjang baru. Elemen-elemen tetap digunakan bersama oleh array asli, sehingga proses ini cepat dan tidak memerlukan alokasi.
Melakukan Slicing pada Slice
Anda dapat melakukan slicing pada slice seperti pada array. Rentang baru bersifat relatif terhadap awal slice itu sendiri, sehingga tampilannya dipersempit lebih lanjut.
const inner = part[0..1];Rentang di Luar Batas Terdeteksi
Jika start atau end berada di luar data, build aman akan mengalami kepanikan saat runtime. Ini mencegah Anda membaca memori yang tidak pernah Anda miliki.
Slice Saat Kompilasi
Jika batas-batasnya diketahui saat kompilasi, hasilnya dapat berupa pointer ke array dengan panjang tetap yang tertanam dalam tipenya.
Slice yang Diakhiri Sentinel
Tambahkan terminator dengan [start..end :0] untuk menjamin adanya angka nol di bagian akhir. Ini berguna saat meneruskan string ke kode C.
const cstr = buf[0..n :0];Panjang dari Rentang
Panjang slice cukup dihitung sebagai end dikurangi start. Jadi data[2..5] selalu menghasilkan slice yang len-nya tepat 3.
const three = data[2..5]; // len == 3Pemeriksaan Singkat
Anda memiliki const data = [_]i32{ 0, 1, 2, 3, 4 }. Berapa panjang data[1..4]?
Rangkuman
Sintaks array[start..end] membuat sub-tampilan: end tidak termasuk, hilangkan end untuk mengambil bagian hingga akhir, tidak ada yang disalin, dan batas tetap diperiksa. 🎯
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Mengiris dengan array[start..end]” gratis?
Ya — teks lengkap “Mengiris dengan array[start..end]” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Zig Academy, upgrade ke CoddyKit PRO. Kursus Zig Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Mengiris dengan array[start..end]”?
Buat tampilan-sub tanpa menyalin. Kamu berlatih Zig 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 Zig Academy?
Tidak diperlukan pengalaman sebelumnya. Zig 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 “Mengiris dengan array[start..end]” 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 Zig Academy ini?
Ya. Setiap pelajaran Zig 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
- Larik Berukuran Tetap
- Irisan: Penunjuk Ditambah Panjang
- Mengiris dengan array[start..end]
- Mengiterasi dan Mengubah Irisan