/ / Tổng quan về các kiểu dữ liệu tích hợp của Rust

Tổng quan về các kiểu dữ liệu tích hợp của Rust

Rust là ngôn ngữ lập trình hiện đại được nhập tĩnh được thiết kế cho hiệu suất, độ tin cậy và bảo mật. Như trong các ngôn ngữ nhập tĩnh khác, bạn khai báo các kiểu dữ liệu Rust tại thời điểm biên dịch. Điều này giúp dễ dàng phát hiện lỗi loại trước khi bạn chạy mã của mình.


Rust cung cấp vô hướng, hợp chất, loại tham chiếu, cấu trúc, enum và chuỗi. Suy luận kiểu của nó cung cấp chức năng để viết mã ngắn gọn trong khi vẫn duy trì sự an toàn của ngôn ngữ được nhập tĩnh.


Số nguyên trong Rust

Rust cung cấp các loại số nguyên có dấu và không dấu được phân loại dựa trên số bit. Các loại số nguyên đã ký là i8, i16, i32i64 đại diện cho các số nguyên có dấu 8 bit, 16 bit, 32 bit và 64 bit tương ứng. Nó cũng hỗ trợ các kiểu số nguyên không dấu là u8, u16, u32u64đại diện cho các số nguyên không dấu 8 bit, 16 bit, 32 bit và 64 bit.

 
let a: i8 = -10;
let b: i16 = -2048;
let c: i32 = -2147483648;
let d: i64 = -9223372036854775808;


let e: u8 = 255;
let f: u16 = 65535;
let g: u32 = 4294967295;
let h: u64 = 18446744073709551615;

Rust sử dụng i32 nhập cho số nguyên theo mặc định.

Các loại dấu phẩy động rỉ sét

Rust cung cấp f32f64 dưới dạng các loại dấu phẩy động đại diện cho các số dấu phẩy động có độ chính xác đơn và độ chính xác kép. Các f32 loại sử dụng 32 bit để lưu trữ giá trị và f64 loại sử dụng 64 bit.

Các số dấu phẩy động trong Rust tuân theo tiêu chuẩn IEEE 754 cho số học dấu phẩy động.

 let a = 3.14159265358979323_f32;
let b = 2.718281828459045235_f64;

Sử dụng Rust Booleans

Rust cung cấp một bool loại để đại diện ĐÚNG VẬY hoặc SAI các giá trị. Booleans thường được sử dụng trong các câu lệnh điều khiển và điều kiện cho việc ra quyết định của chương trình.

 let variable_1: bool = true;
let variable_2: bool = false;

Bạn có thể so sánh các giá trị boolean với toán tử đẳng thức, ==và toán tử bất đẳng thức, !=. Rust không định nghĩa các toán tử so sánh, <, >, <=, >=bool các giá trị.

 let variable_1: bool = true;
let variable_2: bool = false;

if variable_1 == variable_2 {
    println!("variable_1 is equal to variable_2");
} else if variable_1 != variable_2 {
    println!("variable_1 is not equal to variable_2");
}

Loại than

Rỉ sét than type đại diện cho một giá trị vô hướng Unicode duy nhất có thể đại diện cho bất kỳ ký tự nào trong tiêu chuẩn Unicode. Bạn có thể chỉ định một than giá trị sử dụng dấu nháy đơn.

 
let c = 'a';

Các than type hữu ích khi làm việc với các biểu tượng cảm xúc trong Rust.

Tuples trong Rust

Cấu trúc dữ liệu bộ cho phép bạn nhóm nhiều giá trị thành một giá trị ghép duy nhất. Các giá trị này có thể có cùng kiểu hoặc khác kiểu. Bạn có thể khai báo các bộ dữ liệu bằng cách viết chúng dưới dạng danh sách các giá trị được phân tách bằng dấu phẩy và bao quanh bởi dấu ngoặc đơn.

Đây là cách bạn có thể khai báo một bộ với các số nguyên, chuỗi và giá trị float64 32 bit.

 let tup: (i32, &str, f64) = (500, "Hello", 3.14);

Các bộ dữ liệu có độ dài cố định và bạn có thể sử dụng chúng để trả về nhiều giá trị từ một hàm hoặc chuyển nhiều giá trị cho các hàm dưới dạng một đối số.

Bạn có thể truy cập các phần tử riêng lẻ của một bộ bằng cách phá hủy nó bằng cách sử dụng khớp mẫu hoặc truy cập trực tiếp các phần tử riêng lẻ bằng cú pháp dấu chấm (.) và một chỉ mục.

Đây là cách bạn có thể truy cập các phần tử riêng lẻ của cấu trúc bằng cách sử dụng khớp mẫu:

 let my_tuple = (10, "Hello, World!", false);

let (x, y, z) = my_tuple;

println!("The first element is: {}", x);
println!("The second element is: {}", y);
println!("The third element is: {}", z);

Đây là cách bạn có thể truy cập các phần tử riêng lẻ bằng cách sử dụng ký hiệu dấu chấm:

 let my_tuple = (10, "Hello, World!", false);

println!("The first element is: {}", my_tuple.0);
println!("The second element is: {}", my_tuple.1);
println!("The third element is: {}", my_tuple.2);

Bộ dữ liệu rất hữu ích khi nhóm dữ liệu liên quan thành một giá trị duy nhất. Chúng cũng có thể cải thiện khả năng đọc mã của bạn nếu bạn sử dụng chúng một cách tiết kiệm.

Mảng trong Rust

Mảng là tập hợp các phần tử cùng kiểu có độ dài cố định. Bạn viết các mảng Rust dưới dạng một danh sách các giá trị trong ngoặc vuông, được phân tách bằng dấu phẩy.

Đây là cách bạn có thể khai báo mảng trong Rust:

 let arr = [1, 2, 3, 4, 5];

Bạn không thể thay đổi số phần tử trong một mảng sau khi bạn đã khai báo nó, nhưng bạn có thể truy cập, sửa đổi và thao tác các phần tử riêng lẻ của một mảng bằng cách sử dụng chỉ mục.

 let mut my_array = [1, 2, 3, 4, 5];


println!("The first element is: {}", my_array[0]);


my_array[0] = 100;
println!("The first element after modification is: {}", my_array[0]);


for i in 0..my_array.len() {
    my_array[i] *= 2;
}


println!("The array after manipulation: {:?}", my_array);

Mảng Rust được lưu trữ trên ngăn xếp và có cấp phát bộ nhớ liền kề, vì vậy việc truy cập các phần tử của mảng nhanh chóng và hiệu quả. Điều này làm cho mảng phù hợp với các tình huống mà bạn cần lưu trữ và xử lý nhiều phần tử.

kết quả từ hoạt động mảng Rust

Làm việc với Rust Slices

Một lát là một cấu trúc dữ liệu cho phép tham chiếu một chuỗi các phần tử liền kề trong một bộ sưu tập. Các lát được đại diện bởi &[T] loại, trong đó T là loại phần tử được lưu trữ trong lát cắt.

 fn main() {
    
    let my_array = [1, 2, 3, 4, 5];

    
    let my_slice = &my_array[1..3];

    
    println!("Slice: {:?}", my_slice);
}

Lưu ý cách cú pháp phạm vi, ..trích xuất một lát cắt từ một mảng bằng cách sử dụng chỉ mục bắt đầu và chỉ mục lớn hơn chỉ mục kết thúc:

kết quả từ hoạt động Rust lát

Các lát là động, vì vậy Rust có thể xác định độ dài của chúng khi chạy. Bạn cũng có thể chuyển các lát làm đối số cho các hàm mà không cần cấp phát heap.

Bạn sẽ thường sử dụng các lát cắt cho các thao tác chuỗi và để chuyển các tập dữ liệu con cho các hàm. Chúng là một công cụ mạnh mẽ và hiệu quả để quản lý các bộ sưu tập trong Rust, cung cấp một giải pháp thay thế linh hoạt hơn cho các mảng.

Bạn có thể xây dựng các ứng dụng web giao diện người dùng được hỗ trợ bởi WebAssembly trong Rust

Kiến thức về các loại dữ liệu là mấu chốt cho hành trình Rust của bạn vì bạn sẽ sử dụng chúng cho hầu hết các hoạt động trong khi xây dựng ứng dụng.

WebAssugging là định dạng nhị phân cấp thấp chạy trên các trình duyệt web hiện đại với hiệu suất gần như nguyên bản. Nó cho phép bạn viết mã bằng nhiều ngôn ngữ khác nhau và chuyển nó sang WebAssembly.

WebAssugging đang được áp dụng thông qua Rust. Có nhiều khung như Yew, Sycamore và Seed mà bạn có thể sử dụng để xây dựng các giao diện người dùng được hỗ trợ bởi WebAssembly với Rust.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *