Lär dig programmera i Rust · Lektion

Vektorer

Expanderbara arrayer

Lektion 1 av 413 steg

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() eller vec![...].
  • push lägger till och pop tar bort från slutet.
  • Få åtkomst med [] eller säkert med get.
  • 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);
}
Gratis att börja

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.

Alla lektioner i den här kursen

  1. Vektorer
  2. Strängar och &str
  3. HashMaps
  4. Iterera över samlingar
← Tillbaka till Lär dig programmera i Rust