Suy Luận Kiểu
Rust sẽ kiểm tra xem biến được sử dụng như thế nào để xác định kiểu dữ liệu:
Speaker Notes
This slide should take about 3 minutes.
Slide này cho ta thấy cách mà trình biên dịch Rust đoán kiểu dữ liệu dựa trên các ràng buộc từ việc khai báo và sử dụng biến.
Một điều quan trọng cần lưu ý đó là việc khai báo các biến như trên không phải là một dạng khai báo động theo kiểu “any” mà có thể gán được bất kỳ dữ liệu nào. Mã máy được sinh ra từ cách khai báo này cũng giống như cách khai báo một kiểu dữ liệu cụ thể. Trình biên dịch sẽ lo liệu những việc này cho ta và giúp ta viết những đoạn mã ngắn gọn hơn.
Khi không có bất cứ ràng buộc nào cho khai báo kiểu số nguyên, Rust sẽ mặc định sử dụng i32
. Đôi khi trong thông báo lỗi biến sẽ được hiển thị dưới dạng {integer}
. Tương tự, với các số thực dấu phẩy động, Rust mặc định là f64
.
fn main() {
let x = 3.14;
let y = 20;
assert_eq!(x, y);
// ERROR: no implementation for `{float} == {integer}`
}