Wektory
Rozszerzalne tablice
Wektory to bezpłatna lekcja Learn Rust Coding na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Learn Rust Coding, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Learn Rust Coding zawiera 4 lekcji w sumie.
Czym jest wektor?
Vec<T> to tablica o zmiennym rozmiarze. W przeciwieństwie do tablicy o stałym rozmiarze wektor może rosnąć lub kurczyć się w czasie działania programu.
Wszystkie elementy muszą mieć ten sam typ T.
fn main() {
let v: Vec<i32> = Vec::new();
println!("empty vector with length {}", v.len());
}Tworzenie za pomocą vec!
Makro vec! to najprostszy sposób na utworzenie wektora z początkowymi wartościami.
fn main() {
let numbers = vec![1, 2, 3, 4];
println!("{:?}", numbers);
}Dodawanie elementów
Użyj push, aby dodać element na końcu. Wektor musi być oznaczony jako mut, aby można było go zmieniać.
fn main() {
let mut v = Vec::new();
v.push(10);
v.push(20);
v.push(30);
println!("{:?}", v);
}Usuwanie elementów
pop usuwa i zwraca ostatni element opakowany w Option. Zwraca None, jeśli wektor jest pusty.
fn main() {
let mut v = vec![1, 2, 3];
let last = v.pop();
println!("removed {:?}, now {:?}", last, v);
}Dostęp przez indeks
Do wektora odwołujesz się za pomocą nawiasów kwadratowych, tak samo jak do tablicy. Indeks spoza zakresu powoduje panikę.
fn main() {
let v = vec!["a", "b", "c"];
println!("first {}", v[0]);
println!("third {}", v[2]);
}Bezpieczny dostęp za pomocą get
Metoda get zwraca Option zamiast powodować panikę, dlatego jest bezpieczniejsza w przypadku nieznanych indeksów.
fn main() {
let v = vec![10, 20, 30];
match v.get(5) {
Some(x) => println!("found {}", x),
None => println!("no element there"),
}
}Iterowanie po wektorze
Przeiteruj po elementach wektora za pomocą pętli for. Użyj &, aby pożyczyć każdy element bez przejmowania jego własności.
fn main() {
let v = vec![100, 200, 300];
for item in &v {
println!("item {}", item);
}
}Modyfikowanie podczas iterowania
Iteruj za pomocą &mut, aby modyfikować każdy element w miejscu. Usuń referencję za pomocą *, aby zmienić wartość.
fn main() {
let mut v = vec![1, 2, 3];
for item in &mut v {
*item *= 10;
}
println!("{:?}", v);
}Długość i pustka wektora
Użyj len(), aby uzyskać liczbę elementów, oraz is_empty(), aby sprawdzić, czy nie ma żadnych elementów.
fn main() {
let v = vec![5, 6];
println!("len {} empty {}", v.len(), v.is_empty());
}Typowe metody wektora
Wektory udostępniają wiele pomocnych metod:
contains— sprawdza obecność elementu.first/last— pobiera pierwszy lub ostatni element jako Option.sort— porządkuje elementy.
fn main() {
let mut v = vec![3, 1, 2];
v.sort();
println!("{:?} contains 2: {}", v, v.contains(&2));
}Sumowanie za pomocą iteratorów
Połącz wektory z metodami iteratorów, aby zwięźle obliczać sumy.
fn main() {
let v = vec![10, 20, 30, 40];
let total: i32 = v.iter().sum();
println!("total {}", total);
}Szybkie sprawdzenie
Przypomnij sobie metodę, która powiększa wektor.
Podsumowanie
Wektory w Rust:
Vec<T>to lista o zmiennym rozmiarze, której elementy mają ten sam typ.- Utwórz ją za pomocą
Vec::new()lubvec![...]. pushdodaje element, apopusuwa go z końca.- Uzyskuj dostęp za pomocą
[]lub bezpiecznie za pomocąget. - Iteruj za pomocą
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);
}Często zadawane pytania
Czy lekcja „Wektory” jest bezpłatna?
Tak — pełny tekst „Wektory” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Learn Rust Coding, przejdź na CoddyKit PRO. Kurs Learn Rust Coding zawiera 4 lekcji w sumie.
Co nauczysz się w „Wektory”?
Rozszerzalne tablice Ćwiczysz Learn Rust Coding z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Learn Rust Coding?
Nie wymagamy żadnego doświadczenia. Learn Rust Coding w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Wektory”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Learn Rust Coding?
Tak. Każda lekcja Learn Rust Coding zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.