22/04/2026 07:11น.

ทำความรู้จัก Cargo คู่หูที่จะทำให้ชีวิตการเขียน Rust ง่ายขึ้น | Rust The Series EP.3
#ภาษา Rust
#Rust
#Cargo
#Superdev Academy
#เรียนเขียนโปรแกรม
#วิธีใช้ Cargo
ยินดีต้อนรับเข้าสู่ Rust The Series SS1 ซีรีส์ที่จะเปลี่ยนคุณจากศูนย์ให้กลายเป็นเซียน Rust ไปกับ Superdev Academy ครับ!
ใน EP 1 และ 2 เราได้รู้จักประวัติความเข้มข้นของ Rust และติดตั้งเครื่องมือกันไปเรียบร้อยแล้ว ใน EP 3 นี้ เราจะเริ่มลงมือ "เขียน" และ "รัน" โค้ดแรกกันจริงๆ เสียที แต่ก่อนจะไปเขียนโค้ด เราต้องรู้จักกับคู่หูคู่ใจของนักพัฒนา Rust ทุกคนก่อน นั่นคือ Cargo ครับ
ทำความรู้จักกับ Cargo: มากกว่าแค่เครื่องมือจัดการ Library
ถ้าภาษา Java มี Maven/Gradle, Python มี Pip, หรือ Node.js มี NPM... ภาษา Rust ก็มี Cargo ครับ แต่มันพิเศษกว่าตรงที่ Cargo เป็นเครื่องมือแบบ All-in-one ที่ถูกติดตั้งมาพร้อมกับ Rust เลย โดยทำหน้าที่หลักๆ ดังนี้:
หน้าที่ | รายละเอียด |
Build System | ช่วยคอมไพล์โค้ดจาก Source Code ให้กลายเป็นโปรแกรมที่รันได้ |
Package Manager | จัดการ Library ภายนอก (ในภาษา Rust เราเรียกว่า Crates) |
Project Creator | สร้างโครงสร้างโปรเจกต์มาตรฐาน เพื่อให้ทำงานร่วมกับคนอื่นได้ง่าย |
Test Runner | รัน Unit Test เพื่อตรวจสอบความถูกต้องของโค้ด |
ว่ากันว่า Cargo คือหนึ่งในระบบจัดการโปรเจกต์ที่ดีที่สุดในโลกการเขียนโปรแกรม เพราะมันทำให้ Developer โฟกัสที่การเขียนโค้ดได้ 100% โดยไม่ต้องวุ่นวายกับการตั้งค่า Build ที่ซับซ้อนครับ
1. เริ่มสร้างโปรเจกต์แรกด้วย cargo new
เปิด Terminal (หรือ Command Prompt) ขึ้นมา แล้วพิมพ์คำสั่งนี้เพื่อสร้างโปรเจกต์ใหม่ครับ:
Bash
cargo new hello_superdev
cd hello_superdev
เมื่อคุณเปิดโฟลเดอร์นี้ขึ้นมา (แนะนำให้เปิดด้วย VS Code) จะพบโครงสร้างโปรเจกต์มาตรฐานดังนี้:
Cargo.toml: ไฟล์หัวใจหลัก (Manifest file) สำหรับจัดการข้อมูลและ Library ของโปรเจกต์src/: โฟลเดอร์ที่ใช้เก็บ Source Code ทั้งหมดsrc/main.rs: ไฟล์หลัก (Entry point) ที่เราจะเขียนโค้ด.gitignore: Cargo ใจดีแถมมาให้เลย สำหรับคนที่จะใช้งาน Git/GitHub
2. เจาะลึกไฟล์ Cargo.toml (The Manifest)
ไฟล์นี้ใช้รูปแบบ TOML (Tom's Obvious, Minimal Language) ซึ่งอ่านง่ายและเป็นระเบียบมากครับ:
Ini, TOML
[package]
name = "hello_superdev"
version = "0.1.0"
edition = "2021"
[dependencies]
# ที่นี่เอาไว้ใส่ชื่อ Crates (Library) เสริม เช่น serde = "1.0"
[package]: เก็บ Metadata ของโปรเจกต์ เช่น ชื่อเวอร์ชัน และedition(รุ่นของคอมไพเลอร์ Rust)[dependencies]: ในอนาคตถ้าเราอยากดึงความสามารถของคนอื่นมาใช้ เช่น อยากทำ API, เชื่อมต่อ Database หรือจัดการ JSON เราจะมาเพิ่มชื่อ Library ในส่วนนี้ครับ
3. Hello World แรกใน main.rs
ลองเปิดไฟล์ src/main.rs คุณจะเห็นว่า Cargo เขียนโค้ดเริ่มต้นมาให้เราแล้ว!
Rust
fn main() {
println!("Hello, world!");
}
วิเคราะห์โค้ดเบื้องต้น:
fn main(): คือฟังก์ชันหลักที่เป็นจุดเริ่มต้น (Entry Point) ของโปรแกรม Rust ทุกโปรแกรมprintln!: นี่คือ "Macro" (สังเกตที่มีเครื่องหมาย!) ซึ่งทำหน้าที่พิมพ์ข้อความลงในหน้าจอ สาเหตุที่มันเป็น Macro เพราะมันมีความสามารถในการจัดการกับ Argument ที่หลากหลายได้มากกว่าฟังก์ชันปกติครับ
4. 3 คำสั่งศักดิ์สิทธิ์ที่ต้องจำให้ขึ้นใจ
ในการทำงานกับ Cargo คุณจะวนเวียนอยู่กับ 3 คำสั่งนี้บ่อยที่สุด:
A. cargo build (สร้างตัวโปรแกรม)
ใช้สำหรับคอมไพล์โค้ด คำสั่งนี้จะสร้างไฟล์ Executable ไว้ที่โฟลเดอร์ target/debug/ เพื่อเตรียมใช้งาน
B. cargo run (Build พร้อมรันทันที)
เป็นคำสั่งยอดนิยม! เพราะมันจะเช็คให้ว่าถ้ามีการแก้โค้ด มันจะคอมไพล์ใหม่ให้เอง แล้วรันโปรแกรมให้เราดูผลลัพธ์ทันที
Result: คุณควรเห็นข้อความ
"Hello, world!"ปรากฏขึ้นบนจอ
C. cargo check (เช็คความถูกต้องแบบ Fast-track)
เป็นไม้ตายของนักพัฒนา Rust! คำสั่งนี้จะตรวจสอบว่าโค้ดเราเขียนผิด Syntax หรือไม่ แต่จะ ไม่สร้าง ไฟล์โปรแกรมออกมา ทำให้มันทำงานได้เร็วมาก เหมาะสำหรับใช้เช็คโค้ดบ่อยๆ ระหว่างเขียน เพื่อประหยัดเวลาคอมไพล์
5. การ Build แบบ Release (สำหรับใช้งานจริง)
เมื่อโปรเจกต์เสร็จสมบูรณ์และต้องการนำไป Deploy หรือส่งให้เพื่อนรัน ให้ใช้คำสั่ง:
Bash
cargo build --release
ทำไมต้อง --release?
เพราะในโหมดปกติ (Debug) Rust จะเน้นคอมไพล์เร็วเพื่อให้เราพัฒนาได้ไว แต่ในโหมด Release คอมไพเลอร์จะทำการ Optimize โค้ดอย่างหนักเพื่อให้โปรแกรมทำงานได้รวดเร็วที่สุดเท่าที่จะเป็นไปได้ (แม้จะใช้เวลาคอมไพล์นานขึ้นนิดหน่อยก็ตาม) ไฟล์ที่ได้จะอยู่ที่ target/release/ ครับ
สรุป
ใน EP นี้เราได้รู้วิธีการใช้ Cargo เพื่อสร้างโปรเจกต์, เข้าใจโครงสร้างไฟล์ และลองรันคำสั่งพื้นฐานเพื่อแสดงผล Hello World ครั้งแรกในภาษา Rust กันแล้วครับ
การมีระบบจัดการที่ยอดเยี่ยมอย่าง Cargo ทำให้เราโฟกัสไปที่การเขียนตรรกะโปรแกรมได้เต็มที่ โดยไม่ต้องกังวลเรื่องการตั้งค่าระบบที่ยุ่งยากเหมือนภาษาในยุคเก่า
Next Step:
ใน EP 4 เราจะเริ่มเข้าสู่หัวใจสำคัญของภาษา Rust นั่นคือเรื่อง Variables & Mutability มาหาคำตอบกันว่า ทำไมตัวแปรใน Rust ถึงต้อง "แก้ไขไม่ได้" (Immutable) เป็นค่าเริ่มต้น และถ้าอยากแก้ไขต้องทำอย่างไร? บอกเลยว่าเรื่องนี้คือจุดเริ่มต้นของความปลอดภัยในระดับหน่วยความจำของ Rust ครับ!
แล้วเจอกันที่ Superdev Academy ครับ! 🦀✨
🎯 ติดตามความรู้สาย Dev แบบสุดจัดได้ที่:
ไม่อยากพลาดบทความเทคนิคเชิงลึกและอัปเดตใหม่ๆ จากเรา ติดตาม Superdev Academy ได้ทุกช่องทางที่นี่ครับ:
🔵 Facebook: Superdev Academy Thailand (อัปเดตข่าวสารและบทความใหม่)
🎬 YouTube: Superdev Academy Channel (ติวเข้มแบบวิดีโอ)
📸 Instagram: @superdevacademy (เกร็ดความรู้สั้นๆ และเบื้องหลังการทำงาน)
🎬 TikTok: @superdevacademy (Tips & Tricks ฉบับย่อยง่าย)
🌐 Website: superdevacademy.com (คลังบทความและคอร์สเรียนฉบับเต็ม)