Slice
Tampilan yang dipinjam
Slice adalah pelajaran Learn Rust Coding 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 Learn Rust Coding, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn Rust Coding mencakup 4 pelajaran total.
Apa Itu Irisan?
Irisan adalah tampilan yang dipinjam dari bagian koleksi yang bersebelahan. Irisan tidak memiliki data — irisan menunjuk ke data yang sudah ada.
Irisan ditulis menggunakan rentang di dalam tanda kurung siku.
fn main() {
let arr = [1, 2, 3, 4, 5];
let part = &arr[1..4];
println!("{:?}", part);
}Sintaks Rentang Irisan
Rentang memilih indeks awal dan akhir. Indeks akhir bersifat eksklusif.
&v[1..4]— indeks 1, 2, 3.&v[..3]— dari awal hingga 3.&v[2..]— dari 2 hingga akhir.
fn main() {
let v = vec![10, 20, 30, 40];
println!("{:?}", &v[..2]);
println!("{:?}", &v[2..]);
}Irisan String
Irisan string &str adalah tampilan dari sebagian String. Rentang indeks menggunakan posisi byte.
fn main() {
let s = String::from("hello world");
let hello = &s[0..5];
let world = &s[6..11];
println!("{} {}", hello, world);
}Irisan Seluruh Koleksi
Gunakan &v[..] untuk mengiris seluruh koleksi. Inilah cara Vec dipinjam sebagai irisan.
fn main() {
let v = vec![1, 2, 3];
let whole = &v[..];
println!("{:?}", whole);
}Irisan sebagai Parameter
Fungsi yang menerima &[T] dapat menerima array maupun vektor. Hal ini membuatnya fleksibel.
fn sum(items: &[i32]) -> i32 {
let mut total = 0;
for x in items {
total += x;
}
total
}
fn main() {
let v = vec![1, 2, 3];
let a = [4, 5, 6];
println!("{} {}", sum(&v), sum(&a));
}Irisan Meminjam, Bukan Memiliki
Karena irisan meminjam, koleksi asli harus tetap hidup selama irisan digunakan. Kompilator menegakkan aturan ini.
fn main() {
let v = vec![100, 200, 300];
let s = &v[0..2];
println!("slice {:?}, original {:?}", s, v);
}Panjang Irisan
Seperti koleksi lainnya, irisan memiliki metode len() yang memberikan jumlah elemen yang dicakupnya.
fn main() {
let v = vec![5, 6, 7, 8, 9];
let middle = &v[1..4];
println!("length {}", middle.len());
}first dan last
Irisan menyediakan first() dan last(), yang mengembalikan Options agar irisan kosong dapat ditangani dengan aman.
fn main() {
let data = [10, 20, 30];
let s = &data[..];
println!("{:?} {:?}", s.first(), s.last());
}Melakukan Iterasi pada Irisan
Anda dapat melakukan iterasi pada irisan seperti pada koleksi apa pun.
fn main() {
let v = vec![1, 2, 3, 4];
for x in &v[1..3] {
println!("{}", x);
}
}Fungsi first-word
Salah satu penggunaan irisan yang umum adalah mengembalikan irisan dari teks yang sudah ada, seperti kata pertama dalam kalimat.
fn first_word(s: &str) -> &str {
let bytes = s.as_bytes();
for (i, &b) in bytes.iter().enumerate() {
if b == b' ' {
return &s[0..i];
}
}
s
}
fn main() {
println!("{}", first_word("hello there"));
}Mengapa Irisan Aman
Irisan menghindari penyalinan data sekaligus mencegah referensi yang menggantung. Pemeriksa peminjaman menjamin data yang mendasarinya tetap hidup lebih lama daripada irisan.
fn main() {
let words = vec!["a", "b", "c", "d"];
let pair = &words[1..3];
println!("{:?}", pair);
}Pemeriksaan Singkat
Ingat kembali apa yang direpresentasikan oleh irisan.
Ringkasan
Irisan di Rust:
- Tampilan yang dipinjam:
&v[start..end], dengan akhir eksklusif. &stradalah irisan string;&[T]adalah irisan array/vektor.- Parameter irisan menerima array maupun vektor.
- Pemeriksa peminjaman menjaga irisan tetap aman.
fn average(nums: &[i32]) -> i32 {
nums.iter().sum::<i32>() / nums.len() as i32
}
fn main() {
let v = vec![4, 8, 12];
println!("{}", average(&v[..]));
}Pertanyaan yang Sering Diajukan
Apakah pelajaran “Slice” gratis?
Ya — teks lengkap “Slice” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn Rust Coding, upgrade ke CoddyKit PRO. Kursus Learn Rust Coding mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Slice”?
Tampilan yang dipinjam Kamu berlatih Learn Rust Coding 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 Learn Rust Coding?
Tidak diperlukan pengalaman sebelumnya. Learn Rust Coding 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 “Slice” 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 Learn Rust Coding ini?
Ya. Setiap pelajaran Learn Rust Coding menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.