/ / Hiểu chức năng trong Rust

Hiểu chức năng trong Rust

Các hàm là cấu trúc lập trình thiết yếu vì chúng đặt nền tảng cho khả năng sử dụng lại mã và tạo điều kiện cho lập trình mô-đun. Hàm là các khối mã độc lập thực hiện các tác vụ cụ thể. Họ có thể nhận đầu vào, ở dạng đối số và trả về một giá trị.


Rust cung cấp các chức năng để tổ chức mã, đóng gói và khả năng sử dụng lại mã.


Định nghĩa hàm trong Rust

Xem trước chức năng Jetbrains Rust

Các hàm Rust cũng giống như các hàm trong bất kỳ ngôn ngữ lập trình nào khác, mặc dù có những khác biệt nhỏ mà bạn cần phải hiểu.

Bạn sẽ xác định các chức năng cho các chương trình Rust của mình bằng fn từ khóa theo sau là tên hàm, đối số tùy chọn và kiểu dữ liệu trả về tùy chọn.

 
fn function_name() {
    
}

Đây là một hàm Rust đơn giản không nhận bất kỳ đối số nào hoặc trả về bất kỳ giá trị nào.

 fn a_function(){
    let x = 3;
    println!("{}", x)
}

a_function là một hàm Rust đơn giản in biến x.

Chữ ký hàm Rust

Chữ ký hàm là một cách đặt tên hàm, mô tả các đối số và kiểu trả về của chúng mà không bao gồm phần thân hàm. Chữ ký hàm rất hữu ích để ghi lại các API của thư viện Rust.

Đây là một ví dụ về chữ ký hàm Rust:

 fn name()

fn greet(name: &str)

Các tên chức năng là một chữ ký chức năng tối thiểu, trong khi chào hỏi chữ ký chỉ định rằng hàm nhận một đối số duy nhất, tênthuộc loại chuỗi (&str).

Khai báo hàm với đối số và giá trị trả về

Các hàm Rust có thể nhận nhiều đối số và giới hạn không được xác định rõ ràng. Các hàm có đối số thường linh hoạt hơn vì chúng có thể nhận giá trị từ các hàm và phần mã khác.

Đây là mô hình điển hình của hàm Rust nhận đối số:

 fn function_name(arg: type, arg2: type) {
    
}

Loại đối số chức năng có thể là loại tích hợp sẵn Rust hoặc loại tùy chỉnh từ chương trình của bạn.

Đây là một ví dụ về một hàm đơn giản lấy hai số nguyên làm đối số:

 fn add_numbers(x: i32, y: i32) {
    println!("{}", x + y);
}

Các thêm_số hàm nhận hai số nguyên 32 bit và in tổng của các số nguyên.

Các hàm Rust có thể trả về nhiều giá trị; bạn sẽ phải chỉ định (các) kiểu trả về và trả về các giá trị của kiểu đó từ hàm.

 fn function_name(arg: type, arg2: type) -> (type, type) {
    
    return arg, arg2
}

Đây là một hàm lấy một chuỗi và một số nguyên 32 bit làm đối số và trả về các đối số dưới dạng một bộ.

 fn string_and_integer(s: String, n: i32) -> (String, i32) {
    return (s, n);
}

Các string_and_integer hàm nhận vào một chuỗi và một số nguyên 32 bit, trả về chúng dưới dạng một bộ. Bạn chỉ có thể trả về một giá trị duy nhất từ ​​hàm Rust.

Bạn có thể bỏ qua trở lại từ khóa khi trả về biểu thức cuối cùng từ một hàm, để làm cho mã ngắn gọn hơn.

 fn string_and_integer(s: String, n: i32) -> (String, i32) {
    return (s, n);
}

fn str_and_int(s: String, n: i32) -> (String, i32) {
    (s, n)
}

Hai hàm này có cùng một hành vi vì cả hai đều nhận vào một chuỗi và số nguyên và trả về các đối số đó dưới dạng một bộ.

Gọi các hàm Rust

Bạn có thể gọi một hàm từ một hàm khác bằng cách viết tên của nó theo sau là các giá trị bạn muốn chuyển cho nó trong dấu ngoặc đơn:

 fn add_numbers(x: i32, y: i32) -> i32 {
    x + y
}

fn main() {
    let result = add_numbers(3, 5);
    println!("The result is {}", result);
}

Các chủ yếu lời gọi hàm thêm_số, truyền cho nó hai số nguyên. Nó gán kết quả của hàm cho một biến, kết quả.

Kết quả từ việc gọi hàm Rust ví dụ

Bạn có thể khai báo các chức năng cho Rust Structs

Bạn có thể khai báo các chức năng trong cấu trúc Rust. Chúng trở thành các phương thức cho cấu trúc có thể truy cập và sửa đổi nó.

Rust không hoàn toàn hướng đối tượng, nhưng nó cung cấp các cấu trúc để nhóm dữ liệu liên quan. Bạn có thể hướng tới việc triển khai các khái niệm OOP trong Rust bằng cách sử dụng các cấu trúc có phương thức.

Similar Posts

Leave a Reply

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