Οι λειτουργίες του Rust έχουν πολλές αποχρώσεις που διαφέρουν από άλλες γλώσσες. Μάθετε τα πάντα για τη σύνταξή τους εδώ.

Οι συναρτήσεις είναι βασικές κατασκευές προγραμματισμού, καθώς θέτουν τα θεμέλια για επαναχρησιμοποίηση κώδικα και διευκολύνουν τον αρθρωτό προγραμματισμό. Οι συναρτήσεις είναι αυτόνομα μπλοκ κώδικα που εκτελούν συγκεκριμένες εργασίες. Μπορούν να λάβουν είσοδο, με τη μορφή ορισμάτων, και να επιστρέψουν μια τιμή.

Το Rust παρέχει λειτουργίες για οργάνωση κώδικα, ενθυλάκωση και επαναχρησιμοποίηση κώδικα.

Καθορισμός Λειτουργιών σε Rust

Οι λειτουργίες σκουριάς μοιάζουν πολύ λειτουργεί σε οποιαδήποτε άλλη γλώσσα προγραμματισμού, αν και υπάρχουν μικρές διαφορές που θα πρέπει να καταλάβετε.

Θα ορίσετε λειτουργίες για τα προγράμματα Rust με το στ λέξη-κλειδί ακολουθούμενη από το όνομα της συνάρτησης, προαιρετικά ορίσματα και μια προαιρετική επιστροφή Τύπος δεδομένων.

// συνάρτηση που ούτε δέχεται ορίσματα ούτε επιστρέφει τιμή
fn function_name() {
// σώμα λειτουργίας εδώ
}

Εδώ είναι μια απλή συνάρτηση Rust που δεν δέχεται ορίσματα ούτε επιστρέφει τιμές.

instagram viewer
fn a_function(){
έστω x = 3;
println!("{}", Χ)
}

a_function είναι μια απλή συνάρτηση Rust που εκτυπώνει τη μεταβλητή Χ.

Υπογραφές λειτουργίας σκουριάς

Οι υπογραφές συναρτήσεων είναι ένας τρόπος ονομασίας συναρτήσεων και περιγραφής των ορισμάτων και των τύπων επιστροφής τους, χωρίς να συμπεριλαμβάνεται σώμα συνάρτησης. Οι υπογραφές συναρτήσεων είναι χρήσιμες για την τεκμηρίωση των API των βιβλιοθηκών Rust.

Ακολουθεί ένα παράδειγμα υπογραφής λειτουργίας Rust:

fn name()

fn χαιρετισμός (όνομα: &str)

ο όνομα συνάρτηση είναι μια ελάχιστη υπογραφή συνάρτησης, ενώ το χαιρετώ Η υπογραφή καθορίζει ότι η συνάρτηση παίρνει ένα μόνο όρισμα, όνομα, τύπου string (&str).

Δήλωση συναρτήσεων με ορίσματα και τιμές επιστροφής

Οι συναρτήσεις σκουριάς μπορούν να λάβουν πολλά ορίσματα και το όριο δεν ορίζεται ρητά. Οι συναρτήσεις με ορίσματα είναι γενικά πιο ευέλικτες αφού μπορούν να λάβουν τιμές από άλλες συναρτήσεις και μέρη του κώδικα.

Ακολουθεί το τυπικό μοντέλο μιας συνάρτησης Rust που δέχεται ορίσματα:

fn function_name (arg: τύπος, arg2: τύπος) {
// σώμα λειτουργίας εδώ
}

Ο τύπος ορίσματος συνάρτησης μπορεί να είναι ένας ενσωματωμένος τύπος Rust ή ένας προσαρμοσμένος τύπος από το πρόγραμμά σας.

Ακολουθεί ένα παράδειγμα μιας απλής συνάρτησης που παίρνει δύο ακέραιους αριθμούς ως ορίσματα:

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

ο add_numbers Η συνάρτηση παίρνει δύο ακέραιους 32-bit και εκτυπώνει το άθροισμα των ακεραίων.

Οι συναρτήσεις σκουριάς μπορούν να επιστρέψουν πολλαπλές τιμές. θα πρέπει να καθορίσετε τους τύπους επιστροφής και να επιστρέψετε τις τιμές του τύπου από τη συνάρτηση.

fn function_name (arg: τύπος, arg2: τύπος) -> (τύπος, τύπος) {
// σώμα λειτουργίας εδώ
ΕΠΙΣΤΡΟΦΗ arg, arg2
}

Εδώ είναι μια συνάρτηση που παίρνει μια συμβολοσειρά και έναν ακέραιο 32-bit ως όρισμα και επιστρέφει τα ορίσματα ως πλειάδα.

fn string_and_integer (s: String, n: i32) -> (String, i32) {
ΕΠΙΣΤΡΟΦΗ (s, n);
}

ο string_and_integer Η συνάρτηση παίρνει μια συμβολοσειρά και έναν ακέραιο 32-bit, επιστρέφοντάς τα ως πλειάδα. Μπορείτε να επιστρέψετε μόνο μία τιμή από μια συνάρτηση Rust.

Μπορείτε να αφήσετε έξω το ΕΠΙΣΤΡΟΦΗ λέξη-κλειδί κατά την επιστροφή της τελικής έκφρασης από μια συνάρτηση, για να γίνει ο κώδικας πιο συνοπτικός.

fn string_and_integer (s: String, n: i32) -> (String, i32) {
ΕΠΙΣΤΡΟΦΗ (s, n);
}

// οι συναρτήσεις είναι ισοδύναμες

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

Αυτές οι δύο συναρτήσεις έχουν την ίδια συμπεριφορά αφού και οι δύο λαμβάνουν μια συμβολοσειρά και έναν ακέραιο και επιστρέφουν αυτά τα ορίσματα ως πλειάδα.

Κλήση Λειτουργιών Σκουριάς

Μπορείτε να καλέσετε μια συνάρτηση από μια άλλη γράφοντας το όνομά της ακολουθούμενο από τιμές που θέλετε να περάσετε σε αυτήν μέσα σε παρένθεση:

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

fn main() {
ας αποτέλεσμα = add_numbers(3, 5);
println!("Το αποτέλεσμα είναι {}", αποτέλεσμα)· // Έξοδος: Το αποτέλεσμα είναι 8
}

ο κύριος κλήσεις λειτουργιών add_numbers, περνώντας το δύο ακέραιους αριθμούς. Εκχωρεί το αποτέλεσμα της συνάρτησης σε μια μεταβλητή, αποτέλεσμα.

Μπορείτε να δηλώσετε συναρτήσεις για κατασκευές σκουριάς

Μπορείτε να δηλώσετε συναρτήσεις μέσα σε δομές Rust. Αυτά γίνονται μέθοδοι για τη δομή που μπορεί να έχει πρόσβαση και να την τροποποιήσει.

Το Rust δεν είναι καθαρά αντικειμενοστρεφές, αλλά παρέχει δομές για την ομαδοποίηση των σχετικών δεδομένων. Μπορείτε να εργαστείτε για την εφαρμογή εννοιών OOP στο Rust χρησιμοποιώντας δομές με μεθόδους.