Lær Rust-programmering · leksjon

Vektorer

Matriser som kan vokse

Leksjon 1 av 413 trinn

Vektorer er en gratis leksjon i Lær Rust-programmering på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Lær Rust-programmering, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Lær Rust-programmering inneholder totalt 4 leksjoner.

Hva er en vektor?

En Vec<T> er en vektor med variabel størrelse. I motsetning til en tabell med fast størrelse kan en vektor vokse eller krympe under kjøring.

Alle elementene må ha samme type T.

fn main() {
    let v: Vec<i32> = Vec::new();
    println!("empty vector with length {}", v.len());
}

Opprette med vec!

Makroen vec! er den enkleste måten å opprette en vektor med startverdier på.

fn main() {
    let numbers = vec![1, 2, 3, 4];
    println!("{:?}", numbers);
}

Legge til elementer

Bruk push for å legge til et element på slutten. Vektoren må være mut for at den skal kunne endres.

fn main() {
    let mut v = Vec::new();
    v.push(10);
    v.push(20);
    v.push(30);
    println!("{:?}", v);
}

Fjerne elementer

pop fjerner og returnerer det siste elementet pakket inn i en Option. Den returnerer None hvis vektoren er tom.

fn main() {
    let mut v = vec![1, 2, 3];
    let last = v.pop();
    println!("removed {:?}, now {:?}", last, v);
}

Tilgang via indeks

Bruk hakeparenteser for å indeksere en vektor, akkurat som en tabell. En indeks utenfor området fører til panic.

fn main() {
    let v = vec!["a", "b", "c"];
    println!("first {}", v[0]);
    println!("third {}", v[2]);
}

Trygg tilgang med get

Metoden get returnerer en Option i stedet for å utløse panic, og er derfor tryggere når indeksen er ukjent.

fn main() {
    let v = vec![10, 20, 30];
    match v.get(5) {
        Some(x) => println!("found {}", x),
        None => println!("no element there"),
    }
}

Iterere over en vektor

Gå gjennom elementene i en vektor med en for-løkke. Bruk & for å låne hvert element uten å ta eierskap.

fn main() {
    let v = vec![100, 200, 300];
    for item in &v {
        println!("item {}", item);
    }
}

Endre under iterering

Iterer med &mut for å endre hvert element på stedet. Bruk dereferering med * for å endre verdien.

fn main() {
    let mut v = vec![1, 2, 3];
    for item in &mut v {
        *item *= 10;
    }
    println!("{:?}", v);
}

Vektorens lengde og tomhet

Bruk len() for å finne antallet elementer og is_empty() for å sjekke om det ikke finnes noen.

fn main() {
    let v = vec![5, 6];
    println!("len {} empty {}", v.len(), v.is_empty());
}

Vanlige vektormetoder

Vektorer tilbyr mange hjelpefunksjoner:

  • contains — sjekker om et element finnes.
  • first / last — henter første eller siste element som en Option.
  • sort — sorterer elementene.
fn main() {
    let mut v = vec![3, 1, 2];
    v.sort();
    println!("{:?} contains 2: {}", v, v.contains(&2));
}

Summere med iteratorer

Kombiner vektorer med iterator-metoder for å beregne totalsummer på en kortfattet måte.

fn main() {
    let v = vec![10, 20, 30, 40];
    let total: i32 = v.iter().sum();
    println!("total {}", total);
}

Hurtigsjekk

Husk metoden som får en vektor til å vokse.

Oppsummering

Vektorer i Rust:

  • Vec<T> er en liste med variabel størrelse der alle elementene har samme type.
  • Opprett med Vec::new() eller vec![...].
  • push legger til, og pop fjerner fra slutten.
  • Få tilgang med [] eller trygt med get.
  • Iterer 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 å komme i gang

Lær deg Rust med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
39
Leksjoner
144

Ofte stilte spørsmål

Er leksjonen «Vektorer» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Lær Rust-programmering, inkludert «Vektorer», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Lær Rust-programmering inneholder totalt 4 leksjoner.

Hva lærer jeg i «Vektorer»?

Matriser som kan vokse Du øver på Lær Rust-programmering med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Lær Rust-programmering?

Ingen tidligere erfaring er nødvendig. Lær Rust-programmering på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Vektorer»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Lær Rust-programmering-leksjonen?

Ja. Alle Lær Rust-programmering-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Vektorer
  2. Strenger og &str
  3. HashMaps
  4. Iterere over samlinger
← Tilbake til Lær Rust-programmering