📌 ทำไม Rust ถึงเหมาะกับการสร้าง CLI Tools?
Rust เป็นภาษาที่โดดเด่นในเรื่องความเร็วและความปลอดภัยแบบ zero-cost abstraction ทำให้มันเป็นตัวเลือกยอดนิยมสำหรับการพัฒนา Command-Line Interface (CLI) tools ที่ทำงานเร็ว มีขนาดเล็ก และไม่มี runtime overhead เหมือนกับภาษาอื่น ๆ เช่น Python หรือ Node.js
🚀 เริ่มต้นโปรเจค CLI Tool
สร้างโปรเจคใหม่ด้วย cargo
:
cargo new cli-fast-tool cd cli-fast-tool
📦 ใช้ crate ยอดนิยม: clap
เพิ่ม dependency clap
เพื่อจัดการ arguments:
[dependencies]
clap = { version = “4”, features = [“derive”] }
🧪 โค้ด CLI Tool เบื้องต้น
use clap::Parser; /// CLI ตัวอย่าง #[derive(Parser, Debug)] #[command(author, version, about)] struct Args { /// ชื่อของผู้ใช้ #[arg(short, long)] name: String, } fn main() { let args = Args::parse(); println!("สวัสดีคุณ {}!", args.name); }
🛠 เพิ่ม Subcommand และ Flag
#[derive(Parser)] #[command(name = "tools")] enum Command { Hello { #[arg(short, long)] name: String, }, Sum { #[arg()] a: i32, #[arg()] b: i32, }, } fn main() { match Command::parse() { Command::Hello { name } => println!("Hello, {}!", name), Command::Sum { a, b } => println!("Sum = {}", a + b), } }
📂 จัดโครงสร้าง CLI ที่ดี
สามารถแยกโค้ดออกเป็นไฟล์ย่อยได้ เช่น:
src/main.rs
— เรียก CLIsrc/commands/hello.rs
— ประมวลผลคำสั่ง hellosrc/commands/sum.rs
— ประมวลผลคำสั่ง sum
🌟 เพิ่มสีสันด้วย colored
[dependencies]
colored = “2”
use colored::*; fn main() { println!("{}", "Hello in Green!".green()); }
📦 แจกจ่าย Binary ด้วย cargo install
cargo install --path .
📦 ทำให้ CLI ของคุณใช้ได้ในทุกที่
- Build cross-platform:
cargo build --release
- ใส่ไฟล์ binary ใน PATH หรือแจกจ่ายผ่าน GitHub release
- หรือใช้ crates.io เผยแพร่ public tool

💡 ตัวอย่าง CLI ที่ใช้ Rust
✅ สรุป
การสร้าง CLI Tool ด้วย Rust ไม่เพียงแต่ได้ performance สูง แต่ยังได้เครื่องมือที่เสถียร ปลอดภัย และ maintain ได้ดีในระยะยาว ลองเริ่มเขียนดู แล้วคุณจะรู้ว่าการสร้าง CLI แบบมืออาชีพไม่ใช่เรื่องยากอีกต่อไป!
บทความนี้ใช้เวลาอ่านประมาณ 20 นาที โดยทีมงาน poolsawat.com