0Pricing
Learn Rust Coding · บทเรียน

เวกเตอร์

อาร์เรย์ที่ขยายขนาดได้

เวกเตอร์ เป็นบทเรียน 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 — รับสมาชิกต้นหรือท้ายในรูปแบบ Option
  • sort — เรียงลำดับสมาชิก
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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เวกเตอร์
  2. สตริงและ &str
  3. HashMaps
  4. การวนซ้ำผ่านคอลเลกชัน
← กลับไปที่ Learn Rust Coding