Menu
CoddyTech

Lặp qua vector

Thuộc phần Logic và luồng chương trình trong hành trình Rust của Coddy. Bài học 11 trên 66.

Giờ bạn đã biết cách tạo vector và truy cập từng phần tử, hãy cùng tìm hiểu cách xử lý có hệ thống mọi phần tử trong vector. Vòng lặp for rất phù hợp với việc này, giúp bạn lần lượt truy cập từng phần tử.

Đây là cú pháp cơ bản để lặp qua một vector:

let names = vec!["Alice", "Bob", "Charlie"];

for name in &names {
    println!("Hello, {}!", name);
}

Hãy chú ý đến & trước names: cách viết này tạo tham chiếu đến vector, cho phép bạn đọc từng phần tử mà không cần sở hữu chính vector đó. Mỗi lần lặp, bạn có thể truy cập từng phần tử thông qua biến vòng lặp name.

Vòng lặp for tự động kiểm tra giới hạn giúp bạn. Khác với việc truy cập bằng chỉ số thủ công, bạn sẽ không bao giờ vô tình cố truy cập một phần tử không tồn tại. Vòng lặp sẽ duyệt đúng số phần tử có trong vector, vừa an toàn vừa tiện lợi.

Bạn có thể dùng mẫu này với mọi kiểu vectơ:

let scores = vec![85, 92, 78, 90];

for score in &scores {
    println!("Score: {}", score);
}

Cách này là cách phổ biến và tự nhiên nhất để xử lý mọi phần tử trong một vector khi bạn cần đọc giá trị của chúng.

challenge icon

Thử thách

Dễ
Viết một hàm (function) sum_all_elements nhận một vector numbers và trả về tổng của tất cả phần tử trong đó.

Dùng vòng lặp for để duyệt qua vector và cộng dồn tổng của tất cả phần tử.

Tham số:

  • numbers (Vec<i32>): Vector chứa các số nguyên cần tính tổng

Giá trị trả về: Tổng của tất cả phần tử trong vector (i32)

Tự làm thử

fn sum_all_elements(numbers: Vec<i32>) -> i32 {
    // Viết code tại đây
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch Rust online