เวกเตอร์
อาร์เรย์ที่ขยายขนาดได้
เวกเตอร์ เป็นบทเรียน Learn Rust Coding ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Learn Rust Coding และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Learn Rust Coding มีบทเรียนทั้งหมด 4 บทเรียน
เวกเตอร์คืออะไร
Vec<T> คือ อาร์เรย์ที่ขยายขนาดได้ ต่างจากอาร์เรย์ขนาดคงที่ เวกเตอร์สามารถขยายหรือลดขนาดขณะโปรแกรมทำงานได้
สมาชิกทุกตัวต้องมีประเภทเดียวกันคือ T
fn main() {
let v: Vec<i32> = Vec::new();
println!("empty vector with length {}", v.len());
}การสร้างด้วย vec!
มาโคร vec! เป็นวิธีที่ง่ายที่สุดในการสร้างเวกเตอร์พร้อมค่าเริ่มต้น
fn main() {
let numbers = vec![1, 2, 3, 4];
println!("{:?}", numbers);
}การเพิ่มสมาชิก
ใช้ push เพื่อเพิ่มสมาชิกต่อท้าย เวกเตอร์ต้องเป็น mut จึงจะแก้ไขได้
fn main() {
let mut v = Vec::new();
v.push(10);
v.push(20);
v.push(30);
println!("{:?}", v);
}การนำสมาชิกออก
pop จะนำสมาชิกตัวสุดท้ายออกและส่งกลับโดยห่อไว้ใน Option หากเวกเตอร์ว่างเปล่า จะส่งค่า None กลับมา
fn main() {
let mut v = vec![1, 2, 3];
let last = v.pop();
println!("removed {:?}, now {:?}", last, v);
}การเข้าถึงด้วยดัชนี
เข้าถึงเวกเตอร์ด้วยวงเล็บเหลี่ยมเช่นเดียวกับอาร์เรย์ ดัชนีที่อยู่นอกช่วงจะทำให้เกิดการหยุดทำงานฉับพลัน
fn main() {
let v = vec!["a", "b", "c"];
println!("first {}", v[0]);
println!("third {}", v[2]);
}การเข้าถึงอย่างปลอดภัยด้วย get
เมธอด get จะส่งค่า Option กลับมาแทนการทำให้โปรแกรมหยุดทำงานฉับพลัน จึงปลอดภัยกว่าเมื่อไม่ทราบดัชนีแน่ชัด
fn main() {
let v = vec![10, 20, 30];
match v.get(5) {
Some(x) => println!("found {}", x),
None => println!("no element there"),
}
}การวนซ้ำในเวกเตอร์
วนซ้ำผ่านสมาชิกของเวกเตอร์ด้วยลูป for ใช้ & เพื่อยืมสมาชิกแต่ละตัวโดยไม่รับความเป็นเจ้าของ
fn main() {
let v = vec![100, 200, 300];
for item in &v {
println!("item {}", item);
}
}การเปลี่ยนแปลงค่าระหว่างวนซ้ำ
วนซ้ำด้วย &mut เพื่อแก้ไขสมาชิกแต่ละตัวโดยตรง ใช้การถอดการอ้างอิงด้วย * เพื่อเปลี่ยนค่า
fn main() {
let mut v = vec![1, 2, 3];
for item in &mut v {
*item *= 10;
}
println!("{:?}", v);
}ความยาวและการว่างของเวกเตอร์
ใช้ len() เพื่อหาจำนวนสมาชิก และใช้ is_empty() เพื่อตรวจสอบว่าไม่มีสมาชิกหรือไม่
fn main() {
let v = vec![5, 6];
println!("len {} empty {}", v.len(), v.is_empty());
}เมธอดเวกเตอร์ที่ใช้บ่อย
เวกเตอร์มีตัวช่วยมากมาย:
contains— ตรวจสอบการมีสมาชิกfirst/last— รับสมาชิกต้นหรือท้ายในรูปแบบ Optionsort— เรียงลำดับสมาชิก
fn main() {
let mut v = vec![3, 1, 2];
v.sort();
println!("{:?} contains 2: {}", v, v.contains(&2));
}การหาผลรวมด้วยตัววนซ้ำ
ใช้เวกเตอร์ร่วมกับเมธอดของตัววนซ้ำเพื่อคำนวณผลรวมได้อย่างกระชับ
fn main() {
let v = vec![10, 20, 30, 40];
let total: i32 = v.iter().sum();
println!("total {}", total);
}ตรวจสอบความเข้าใจ
ทบทวนเมธอดที่ใช้ขยายเวกเตอร์
สรุปทบทวน
เวกเตอร์ใน Rust:
Vec<T>คือรายการที่ขยายขนาดได้และมีประเภทเดียวกันทุกสมาชิก- สร้างด้วย
Vec::new()หรือvec![...] pushเพิ่มสมาชิก ส่วนpopนำสมาชิกท้ายออก- เข้าถึงด้วย
[]หรืออย่างปลอดภัยด้วยget - วนซ้ำด้วย
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);
}คำถามที่พบบ่อย
บทเรียน “เวกเตอร์” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “เวกเตอร์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn Rust Coding ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn Rust Coding มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “เวกเตอร์”
อาร์เรย์ที่ขยายขนาดได้ คุณปฏิบัติ Learn Rust Coding ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn Rust Coding หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn Rust Coding บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “เวกเตอร์” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Learn Rust Coding นี้ได้ไหม
ได้ บทเรียน Learn Rust Coding ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ