Suy luận kiểu dữ liệu
Thuộc phần Kiến thức nền tảng trong hành trình Rust của Coddy. Bài học 12 trên 75.
Trong Rust, suy luận kiểu dữ liệu cho phép trình biên dịch tự động xác định kiểu dữ liệu của một biến dựa trên giá trị và cách sử dụng biến đó. Vì vậy, bạn thường không cần chỉ định rõ kiểu dữ liệu khi khai báo biến, giúp code ngắn gọn và dễ đọc hơn.
Ví dụ:
let x = 5;
// Rust suy ra x có kiểu i32
let y = 3.14;
// Rust suy ra y có kiểu f64
let message = "Hello, world!";
// Rust suy ra message có kiểu &str (chuỗi)
let is_true = true;
// Rust suy ra is_true có kiểu boolTrong các ví dụ này, chúng ta không chỉ định kiểu dữ liệu của x, y, message và is_true. Trình biên dịch Rust tự động suy luận kiểu dữ liệu của chúng dựa trên các giá trị được gán cho chúng.
Suy luận kiểu (type inference) không chỉ tiện lợi mà còn giúp ngăn ngừa lỗi. Trình biên dịch kiểm tra cách các biến được sử dụng và đảm bảo các kiểu được suy luận nhất quán trong toàn bộ đoạn code. Nếu có xung đột, trình biên dịch sẽ báo lỗi.
Thử thách
Người mớiViết một chương trình Rust minh họa cách suy luận kiểu dữ liệu. Khai báo và khởi tạo các biến sau mà không ghi chú kiểu dữ liệu rõ ràng:
- Một biến tên là
quantitycó giá trị10. - Một biến tên là
pricecó giá trị99.99. - Một biến tên là
messagecó giá trị"Coddy is awesome!". - Một biến tên là
is_availablecó giá trịtrue.
Sau khi khai báo các biến này, dùng println!() để in giá trị của chúng ra bảng điều khiển. Quan sát cách Rust suy luận kiểu dữ liệu của các biến dựa trên giá trị của chúng.
Tự làm thử
fn main() {
// Khai báo các biến (variable) ở đây
// In ra các giá trị
println!("Quantity: {}", quantity);
println!("Price: {}", price);
println!("Message: {}", message);
println!("Is available: {}", is_available);
}Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức nền tảng
5Các toán tử phần 2
Các toán tử logic phần 1Các toán tử logic phần 2Ôn tập: logic đơn giảnCác toán tử logic phần 33Biến phần 2
Khai báo kiểu dữ liệuQuy ước đặt tênSuy luận kiểu dữ liệuÔn tập: Khởi tạo biếnÉp kiểu dữ liệu9Vòng lặp
Vòng lặp for qua chuỗiVòng lặp whileBreakContinueVòng lặp lồng nhauNhãn vòng lặpVòng lặp vô hạnÔn tập: Đầu vào động12Kiến thức cơ bản về mảng
Khai báo mảngMảng làm tham sốTruy cập phần tửChỉnh sửa mảngÔn tập: In mảng đẹp mắtTự luyện tập: Trình biên dịch Rust online