มาทำความรู้จักตัวแปรและการประกาศตัวแปรภายใน rust กันก่อนเลย โดยในภาษา rust นั้นจะมีการประกาศตัวแปลอยู่ 2 แบบ คือ let กับ const
Let
เริ่มต้นที่ let
fn main() {
let x = 5;
println!("The value of x is: {x}");
}
let variable
จากนั้นให้ลอง run cargo run
ก็จะได้ output เป็น
The value of x is: 5
ทีนี้ลองเพิ่มโค๊ดใหม่ลงไป
fn main() {
let x = 5;
println!("The value of x is: {x}");
x = 6;
println!("The value of x is: {x}");
}
let variable edit x
ถ้าลอง run ดูเราจะพบว่ามัน error แบบนี้
error[E0384]: cannot assign twice to immutable variable `x`
--> src/main.rs:5:5
|
2 | let x = 5;
| -
| |
| first assignment to `x`
| help: consider making this binding mutable: `mut x`
...
5 | x = 6;
| ^^^^^ cannot assign twice to immutable variable
error imputable variable
เนื่องจากว่ามันตัวแปรตั้งต้นเป็นแบบ immutable
ที่ให้อนุญาติให้แก้ไขค่าของตัวแปลนั้น ถ้าหากเราต้องการให้ตัวแปร x
สามารถแก้ไขได้ให้เราเพิ่ม mut
ไว้หลังคำสั่ง let
ซึ่งมันจะเป็นคำสั่งที่ใช้เพื่อ allow ตัวแปรให้สามารถแก้ไขได้
fn main() {
let mul x = 5;
println!("The value of x is: {x}");
x = 6;
println!("The value of x is: {x}");
}
add mut in code
The value of x is: 5
The value of x is: 6
const
คีย์เวิร์ดอีกคำหนึ่งที่เราสามารถใช้ เพื่อให้แน่ใจว่าตัวแปรนั้นจะไม่สามารถแก้ไขได้คือ const
ซึ่งเอามาใช้เป็นค่าคงที่ ซึ่งตัวแปรประเภทนี้จะคงอยู่ตราบเท่าที่โปรแกรมของเรายังคงทำงานอยู่ ไม่ตายไปซะก่อน (live as long as the program is alive.)
โดยค่า constant จะต้องเป็นตัวพิมพ์ใหญ่เสมอ (UPPER CASE) และต้องกำหนด data type (เช่น :f64) ให้แก่มันด้วย
fn main() {
const PI: f64 = 3.14159265;
println!("The value of PI is: {PI}");
}
const variable
โดยตัว const
นั่นไม่สามารถกำหนดค่า mut
ให้แก่ตัวมันได้
ในบทความถัดไป เราจะไปทำความรู้จักกับ data types ใน rust กัน