Apps Artificial Intelligence CSS DevOps Go JavaScript Laravel Linux MongoDB MySQL PHP Python Rust Vue

Memanipulasi Array di Rust

2 min read .
Memanipulasi Array di Rust

Rust dikenal karena kinerja, keamanan, dan kontrol memori yang ketat, menjadikannya bahasa ideal untuk pemrograman tingkat sistem. Salah satu struktur data dasar di Rust adalah array, yaitu koleksi elemen dengan ukuran tetap yang dialokasikan di stack dan memiliki tipe yang sama. Panduan ini membahas manipulasi array di Rust, dari operasi dasar hingga teknik lanjutan.

Apa itu Array di Rust?

Array di Rust memiliki panjang tetap, artinya ukurannya tidak bisa berubah selama runtime. Semua elemen harus memiliki tipe yang sama. Array sangat berguna ketika koleksi data memiliki ukuran yang dapat diprediksi dan konstan.

Mendeklarasikan Array

fn main() {
    let numbers = [1, 2, 3, 4, 5]; // Array integer
    let zeros: [i32; 5] = [0; 5];  // Lima elemen nol
    println!("{:?}", numbers);
    println!("{:?}", zeros);
}
  • numbers berisi elemen yang diinisialisasi langsung.
  • zeros berisi lima elemen 0 dari tipe i32.

Mengakses dan Memperbarui Elemen

fn main() {
    let mut fruits = ["apple", "banana", "cherry"];
    println!("The first fruit is: {}", fruits[0]);

    fruits[1] = "blueberry"; // Memperbarui elemen
    println!("Updated array: {:?}", fruits);
}

Slicing Array

Slicing memberi akses ke sub-bagian array tanpa mengubah array asli:

fn main() {
    let numbers = [10, 20, 30, 40, 50];
    let slice = &numbers[1..4]; // indeks 1 sampai 3
    println!("The slice is: {:?}", slice);
}

Operasi Array Umum

1. Menemukan Panjang

let arr = [1, 2, 3, 4];
println!("Length: {}", arr.len());

2. Iterasi

let languages = ["Rust", "Python", "Java"];
for language in languages.iter() {
    println!("I love {}", language);
}

3. Membalik Array

let numbers = [1, 2, 3, 4, 5];
let reversed: Vec<_> = numbers.iter().rev().collect();
println!("Reversed: {:?}", reversed);

4. Mengurutkan Array

let mut numbers = [5, 3, 8, 1];
numbers.sort();
println!("Sorted: {:?}", numbers);

Array Multidimensi

Rust mendukung array multidimensi, cocok untuk grid atau matriks:

let matrix: [[i32; 3]; 2] = [
    [1, 2, 3],
    [4, 5, 6],
];
println!("Matrix: {:?}", matrix);

Menangani Akses di Luar Batas

Rust akan panic jika indeks berada di luar batas. Gunakan get() untuk akses aman:

let arr = [1, 2, 3];
match arr.get(5) {
    Some(&value) => println!("Value: {}", value),
    None => println!("Index out of bounds!"),
}

Praktik Terbaik

  1. Gunakan array untuk koleksi berukuran tetap.
  2. Hindari pengkodean indeks langsung; gunakan loop atau iterator.
  3. Gunakan metode pengindeksan aman seperti get().
  4. Untuk operasi dinamis, konversi ke Vec menggunakan to_vec().

Kesimpulan

Array di Rust menawarkan efisiensi memori dan kinerja tinggi. Dengan menguasai manipulasi array, Anda dapat menulis kode yang lebih aman dan optimal. Latihan rutin pada operasi dasar dan lanjutan akan membuat Anda lebih mahir dalam bekerja dengan array di Rust.

Lihat Juga

chevron-up