วันนี้ผมจะทำความรู้จักกับการใช้งานตัวแปร (Variables) การแสดงผลด้วย println! และการตรวจสอบค่าด้วย assert_eq! ซึ่งเป็นเครื่องมือพื้นฐานที่สำคัญของ Rust
1. ตัวแปร (Variables) ใน Rust
ตัวแปรของ Rust ใช้คำสั่ง let ในการประกาศตัวแปร และหากไม่ต้องการให้ตัวแปรสามารถเปลี่ยนค่าได้ (immutable) จะต้องระบุ mut ในการประกาศ Rust จะแนะนำให้คุณใช้ตัวแปรแบบ immutable โดยค่าเริ่มต้น เพราะช่วยให้โปรแกรมปลอดภัยและคาดการณ์การทำงานได้ง่ายขึ้น
let x = 5; // ตัวแปร x มีค่าเป็น 5 และไม่สามารถเปลี่ยนแปลงได้
let mut y = 10; // ตัวแปร y สามารถเปลี่ยนแปลงค่าได้
y = 20; // เปลี่ยนค่า y จาก 10 เป็น 20
ในกรณีที่ไม่กำหนด mut ตัวแปรจะไม่สามารถเปลี่ยนแปลงค่าได้ ซึ่งช่วยลดข้อผิดพลาดที่อาจเกิดจากการแก้ไขตัวแปรโดยไม่ตั้งใจ
println!
2. การแสดงผลด้วย ใน Rust ฟังก์ชัน println! ใช้สำหรับแสดงผลข้อความหรือค่าของตัวแปรออกไปที่คอนโซล ซึ่งมีการใช้งานง่ายและสามารถนำตัวแปรมาแสดงผลในข้อความได้โดยใช้ {}
let name = "Rust";
println!("สวัสดี, {}", name); // แสดงข้อความ "สวัสดี, Rust"
การใช้งาน println! ใน Rust ยังสามารถใช้รูปแบบการจัดรูปแบบข้อความ (formatting) ที่ยืดหยุ่น เช่น การใส่ค่าตัวแปรหลายตัวในการแสดงผล:
let x = 10;
let y = 20;
println!("x คือ {}, y คือ {}", x, y); // แสดง "x คือ 10, y คือ 20"
นอกจากนี้ println! เป็น Macro ไม่ใช่ฟังก์ชันปกติ ซึ่งหมายความว่ามันทำงานในลักษณะเฉพาะสำหรับการขยายโค้ดในขั้นตอน compile-time
assert_eq!
3. การตรวจสอบค่าด้วย assert_eq! เป็น Macro สำหรับการตรวจสอบความเท่าเทียมของค่าที่ใช้บ่อยในการทดสอบโปรแกรม หากค่าทั้งสองที่กำหนดไว้ไม่เท่ากัน มันจะหยุดโปรแกรมและแสดงข้อผิดพลาด ช่วยให้เราสามารถตรวจสอบผลลัพธ์ได้อย่างง่ายดาย
let result = 2 + 2;
assert_eq!(result, 4); // ถ้า result ไม่เท่ากับ 4 โปรแกรมจะหยุดทำงาน
หากค่าที่เปรียบเทียบมีความเท่ากันโปรแกรมจะทำงานต่อไปตามปกติ แต่หากค่าที่ตรวจสอบไม่ตรงกัน จะเกิด Panic และแสดงข้อความข้อผิดพลาด ทำให้การดีบักโปรแกรมง่ายขึ้นในกรณีที่มีผลลัพธ์ที่ไม่ถูกต้อง
ตัวอย่างการใช้งานในฟังก์ชันทดสอบ:
fn add(a: i32, b: i32) -> i32 {
a + b
}
fn main() {
let sum = add(5, 3);
assert_eq!(sum, 8); // ถ้า sum ไม่เท่ากับ 8 โปรแกรมจะหยุด
println!("ผลลัพธ์ถูกต้อง: {}", sum);
}
การใช้งาน assert_eq! ช่วยในการตรวจสอบว่าค่าผลลัพธ์ในโปรแกรมของเราตรงกับที่เราคาดหวังหรือไม่ โดยเฉพาะเมื่อทำการเขียนเทสต์
สรุป
- Variables: ใช้คำสั่ง let ในการประกาศ และสามารถใช้ mut เพื่อให้ตัวแปรเปลี่ยนค่าได้
- println!: ใช้สำหรับแสดงผลข้อความหรือตัวแปร
- assert_eq!: ใช้ในการตรวจสอบค่าที่คาดหวังในการทดสอบโปรแกรม