Membuat dan Mengisi Vektor
Buat Vec dan masukkan elemen.
Membuat dan Mengisi Vektor adalah pelajaran Learn Rust Coding gratis di CoddyKit. Ini adalah pelajaran 1 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 Vektor?
Vektor adalah daftar nilai yang dapat diperbesar, dengan semua nilai memiliki tipe yang sama. Berbeda dari array berukuran tetap, vektor dapat menyusut atau membesar saat program berjalan.
Di Rust, tipenya ditulis Vec<T>, dengan T sebagai tipe elemen yang disimpan, seperti Vec<i32> untuk bilangan bulat.
Vektor Kosong
Anda dapat membuat vektor baru yang kosong dengan Vec::new(). Karena belum memiliki nilai, Rust tidak dapat menebak tipe elemennya, jadi biasanya Anda perlu menuliskannya secara eksplisit.
Di sini kita memberi tahu Rust bahwa vektor ini akan menyimpan bilangan bulat i32.
fn main() {
let v: Vec<i32> = Vec::new();
println!("len = {}", v.len());
}Makro vec!
Cara tercepat untuk membuat vektor dengan nilai awal adalah makro vec!. Cantumkan nilainya di dalam kurung siku.
Rust melihat nilai-nilai tersebut untuk menyimpulkan tipe elemen, jadi anotasi tidak diperlukan di sini.
fn main() {
let nums = vec![10, 20, 30];
println!("{:?}", nums);
}Mencetak Vektor
Vektor secara keseluruhan dicetak dengan pemformat debug {:?}, bukan {} biasa. Bentuk debug menampilkan nilai-nilai di dalam kurung siku.
Gunakan {:#?} untuk tata letak yang rapi dan terdiri dari beberapa baris ketika vektornya besar.
fn main() {
let names = vec!["Ann", "Bo", "Cy"];
println!("{:?}", names);
}Menambahkan Nilai
Untuk menambahkan nilai ke akhir vektor, panggil push. Vektor harus dideklarasikan sebagai mut karena penambahan mengubahnya.
Setiap push menambahkan satu item, sehingga panjang bertambah satu.
fn main() {
let mut v = Vec::new();
v.push(1);
v.push(2);
v.push(3);
println!("{:?}", v);
}Tipe dari Push Pertama
Ketika Anda memulai dengan Vec::new() tanpa anotasi, Rust menunggu push pertama untuk mengetahui tipe elemen.
Di bawah ini, penambahan 3.5 memberi tahu Rust bahwa ini adalah Vec<f64>. Semua nilai berikutnya harus memiliki tipe tersebut.
fn main() {
let mut prices = Vec::new();
prices.push(3.5);
prices.push(9.0);
println!("{:?}", prices);
}Mengisi dengan Pengulangan
Makro vec! dapat mengulang sebuah nilai. Tuliskan vec![value; count] untuk membuat vektor yang berisi nilai tersebut sebanyak count kali.
Ini berguna untuk menyiapkan daftar berisi nol atau nilai bawaan.
fn main() {
let zeros = vec![0; 5];
println!("{:?}", zeros);
}Mengisi dalam Perulangan
Anda dapat mengisi vektor dengan melakukan push di dalam perulangan. Di sini kita menambahkan kuadrat bilangan 1 hingga 4.
Memulai dari keadaan kosong lalu menambahkan nilai seiring proses berjalan merupakan pola umum ketika nilai dihitung.
fn main() {
let mut squares = Vec::new();
for n in 1..=4 {
squares.push(n * n);
}
println!("{:?}", squares);
}Kapasitas dan Panjang
Panjang adalah jumlah item yang saat ini disimpan vektor. Kapasitas adalah ruang yang telah dicadangkan sebelum vektor perlu memperbesar memorinya.
Jika Anda mengetahui kira-kira jumlah item yang akan ditambahkan, Vec::with_capacity(n) mencadangkan ruang sejak awal dan menghindari alokasi ulang berulang.
fn main() {
let mut v = Vec::with_capacity(10);
v.push(1);
println!("len {}, cap {}", v.len(), v.capacity());
}Dari Array
Anda dapat mengubah array menjadi vektor. Salah satu cara sederhananya adalah .to_vec(), yang menyalin elemen array ke vektor baru yang dimiliki.
Ini berguna ketika Anda memulai dengan data tetap tetapi nantinya perlu memperbesarnya.
fn main() {
let arr = [1, 2, 3];
let v = arr.to_vec();
println!("{:?}", v);
}Memeriksa Apakah Kosong
Gunakan is_empty() untuk memeriksa apakah vektor tidak memiliki elemen. Fungsi ini mengembalikan bool, yang lebih jelas daripada membandingkan panjang dengan nol.
Ini merupakan pemeriksaan yang baik sebelum membaca elemen pertama.
fn main() {
let v: Vec<i32> = Vec::new();
if v.is_empty() {
println!("nothing here yet");
}
}Pemeriksaan Singkat
Uji pemahaman Anda tentang pembuatan dan pengisian vektor.
Ringkasan
Anda telah mempelajari cara membuat vektor dengan Vec::new() dan makro vec!, serta mengisinya menggunakan push, pengulangan, perulangan, dan to_vec().
Anda juga melihat perbedaan panjang dan kapasitas serta cara memeriksa apakah vektor kosong. Selanjutnya Anda akan membaca dan melakukan perulangan atas nilai-nilai vektor.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Membuat dan Mengisi Vektor” gratis?
Ya — teks lengkap “Membuat dan Mengisi Vektor” 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 “Membuat dan Mengisi Vektor”?
Buat Vec dan masukkan elemen. 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 1 dari 4.
Berapa lama pelajaran “Membuat dan Mengisi Vektor” 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.
Semua pelajaran dalam kursus ini
- Membuat dan Mengisi Vektor
- Pengindeksan dan Iterasi
- Memperbesar dan Memperkecil
- Vektor Struct