ساختمان داده (Data Structures)
در راست، «ساختمان داده (Data Structure)» یعنی ظرف هایی برای نگهداری و مدیریت داده. هر کدام کاربری خاص دارند؛ مثل مدرسه که کمد، پوشه، و قفل دارد.
آرایه ها (Arrays)
آرایه، لیست با اندازه ثابت و نوع یکسان است. بعداً بزرگ نمی شود.
fn main() {
let fruits = ["apple", "banana", "orange"];
println!("Last fruit: {}", fruits[2]);
}
نکته: اندیس از صفر شروع می شود. پس عنصر سوم، اندیس 2 دارد.
وکتورها (Vectors)
وکتور، آرایه قابل رشد است. می توانی عضو اضافه یا حذف کنی.
fn main() {
let mut fruits = vec!["apple", "banana"];
fruits.push("cherry");
println!("Last fruit: {}", fruits[2]);
}
تاپل ها (Tuples)
تاپل می تواند چند نوع مختلف را کنار هم نگه دارد. دسترسی با نقطه و شماره است.
fn main() {
let person = ("John", 30, true);
println!("Name: {}", person.0);
println!("Age: {}", person.1);
println!("Is active: {}", person.2);
}
هش مپ ها (HashMaps)
هش مپ، داده ها را به صورت «کلید ← مقدار» نگه می دارد. باید آن را ایمپورت کنی.
use std::collections::HashMap;
fn main() {
let mut capital_cities = HashMap::new();
capital_cities.insert("France", "Paris");
capital_cities.insert("Japan", "Tokyo");
println!("Capital of Japan is {}", capital_cities["Japan"]);
}
گام های تمرین
- یک آرایه بساز و یک عنصرش را چاپ کن.
- یک وکتور بساز و با
pushگسترش بده. - یک تاپل با انواع مختلف بساز و اجزایش را بخوان.
- یک
HashMapبساز و مقدار با کلید را چاپ کن.
جمع بندی سریع
- آرایه ثابت است؛ وکتور رشد می کند.
- تاپل، انواع مختلف را گروه می کند.
- هش مپ، جست وجو با کلید می دهد.
- اندیس از صفر شروع می شود.
برای مفاهیم پایه، وام گیری و مالکیت را نیز ببین. سپس به صفحه ساختمان داده برگرد و مرور کن.