Vektorer
Expanderbara arrayer
Vektorer är en gratis lektion i Lär dig programmera i Rust på CoddyKit. Detta är lektion 1 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Lär dig programmera i Rust, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Lär dig programmera i Rust innehåller totalt 4 lektioner.
Vad är en vektor?
En Vec<T> är en växande array. Till skillnad från en array med fast storlek kan en vektor växa eller krympa under körning.
Alla element måste ha samma typ T.
fn main() {
let v: Vec<i32> = Vec::new();
println!("empty vector with length {}", v.len());
}Skapa med vec!
Makrot vec! är det enklaste sättet att skapa en vektor med initiala värden.
fn main() {
let numbers = vec![1, 2, 3, 4];
println!("{:?}", numbers);
}Lägga till element
Använd push för att lägga till ett element sist. Vektorn måste vara mut för att kunna ändras.
fn main() {
let mut v = Vec::new();
v.push(10);
v.push(20);
v.push(30);
println!("{:?}", v);
}Ta bort element
pop tar bort och returnerar det sista elementet, inneslutet i en Option. Den returnerar None om vektorn är tom.
fn main() {
let mut v = vec![1, 2, 3];
let last = v.pop();
println!("removed {:?}, now {:?}", last, v);
}Åtkomst via index
Indexera en vektor med hakparenteser, precis som en array. Ett index utanför intervallet orsakar en panic.
fn main() {
let v = vec!["a", "b", "c"];
println!("first {}", v[0]);
println!("third {}", v[2]);
}Säker åtkomst med get
Metoden get returnerar en Option i stället för att orsaka en panic, vilket är säkrare för okända index.
fn main() {
let v = vec![10, 20, 30];
match v.get(5) {
Some(x) => println!("found {}", x),
None => println!("no element there"),
}
}Iterera över en vektor
Iterera över en vektors element med en for-loop. Använd & för att låna varje element utan att ta ägarskap.
fn main() {
let v = vec![100, 200, 300];
for item in &v {
println!("item {}", item);
}
}Ändra under iteration
Iterera med &mut för att ändra varje element på plats. Dereferera med * för att ändra värdet.
fn main() {
let mut v = vec![1, 2, 3];
for item in &mut v {
*item *= 10;
}
println!("{:?}", v);
}Vektorlängd och tomhet
Använd len() för antalet element och is_empty() för att kontrollera om det inte finns några.
fn main() {
let v = vec![5, 6];
println!("len {} empty {}", v.len(), v.is_empty());
}Vanliga vektormetoder
Vektorer erbjuder många hjälpmetoder:
contains— kontrollera om ett element finns.first/last— hämta ändarna som Option.sort— ordna elementen.
fn main() {
let mut v = vec![3, 1, 2];
v.sort();
println!("{:?} contains 2: {}", v, v.contains(&2));
}Summera med iteratorer
Kombinera vektorer med iteratormetoder för att beräkna summor på ett kortfattat sätt.
fn main() {
let v = vec![10, 20, 30, 40];
let total: i32 = v.iter().sum();
println!("total {}", total);
}Snabb kontroll
Kom ihåg metoden som får en vektor att växa.
Sammanfattning
Vektorer i Rust:
Vec<T>är en växande lista där alla element har samma typ.- Skapa med
Vec::new()ellervec![...]. pushlägger till ochpoptar bort från slutet.- Få åtkomst med
[]eller säkert medget. - Iterera med
for x in &v.
fn main() {
let mut scores = vec![80, 90];
scores.push(100);
let avg: i32 = scores.iter().sum::<i32>() / scores.len() as i32;
println!("average {}", avg);
}Lär dig Rust med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 39
- Lektioner
- 144
Vanliga frågor
Är lektionen ”Vektorer” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Lär dig programmera i Rust, inklusive ”Vektorer”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Lär dig programmera i Rust innehåller totalt 4 lektioner.
Vad lär jag mig i ”Vektorer”?
Expanderbara arrayer Ni övar på Lär dig programmera i Rust med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Lär dig programmera i Rust?
Du behöver inga förkunskaper. Utbildningen i Lär dig programmera i Rust på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.
Hur lång tid tar lektionen ”Vektorer”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Lär dig programmera i Rust-lektionen?
Ja. Varje Lär dig programmera i Rust-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.