Αναγνώστες σαν εσάς βοηθούν στην υποστήριξη του MUO. Όταν κάνετε μια αγορά χρησιμοποιώντας συνδέσμους στον ιστότοπό μας, ενδέχεται να κερδίσουμε μια προμήθεια θυγατρικών. Διαβάστε περισσότερα.

Η Rust είναι μια στατικά τυποποιημένη σύγχρονη γλώσσα προγραμματισμού σχεδιασμένη για απόδοση, αξιοπιστία και ασφάλεια. Όπως και σε άλλες στατικά πληκτρολογημένες γλώσσες, δηλώνετε τύπους δεδομένων Rust κατά το χρόνο μεταγλώττισης. Αυτό διευκολύνει τον εντοπισμό σφαλμάτων τύπου πριν εκτελέσετε τον κώδικά σας.

Το Rust προσφέρει βαθμωτούς, σύνθετους, τύπους αναφοράς, δομές, enums και χορδές. Το συμπέρασμα τύπου του παρέχει λειτουργικότητα για τη σύνταξη συνοπτικού κώδικα, διατηρώντας παράλληλα την ασφάλεια μιας στατικά πληκτρολογημένης γλώσσας.

Ακέραιοι στο Rust

Το Rust παρέχει υπογεγραμμένους και ανυπόγραφους τύπους ακεραίων που ταξινομούνται με βάση τον αριθμό των bit. Οι υπογεγραμμένοι ακέραιοι τύποι είναι i8, i16, i32, και i64 που αντιπροσωπεύουν ακέραιους αριθμούς 8-bit, 16-bit, 32-bit και 64-bit, αντίστοιχα. Υποστηρίζει επίσης ανυπόγραφους ακέραιους τύπους

instagram viewer
u8, u16, u32, και u64, που αντιπροσωπεύει ανυπόγραφους ακέραιους αριθμούς 8-bit, 16-bit, 32-bit και 64-bit.

// υπογεγραμμένοι ακέραιοι αριθμοί
αφήνω α: i8 = -10;
αφήνω β: i16 = -2048;
αφήνω c: i32 = -2147483648;
αφήνω d: i64 = -9223372036854775808;

// ανυπόγραφοι ακέραιοι αριθμοί
αφήνω e: u8 = 255;
αφήνω f: u16 = 65535;
αφήνω g: u32 = 4294967295;
αφήνω h: u64 = 18446744073709551615;

Η Rust χρησιμοποιεί το i32 πληκτρολογήστε για ακέραιους αριθμούς από προεπιλογή.

Τύποι πλωτών σημείων σκουριάς

Η σκουριά παρέχει f32 και f64 ως τύπους κινητής υποδιαστολής που αντιπροσωπεύουν αριθμούς κινητής υποδιαστολής απλής και διπλής ακρίβειας. ο f32 Ο τύπος χρησιμοποιεί 32 bit για την αποθήκευση τιμών και το f64 ο τύπος χρησιμοποιεί 64 bit.

Οι αριθμοί κινητής υποδιαστολής στο Rust ακολουθούν το πρότυπο IEEE 754 για την αριθμητική κινητής υποδιαστολής.

αφήνω α = 3.14159265358979323_f32;
αφήνω β = 2.718281828459045235_f64;

Χρησιμοποιώντας Rust Booleans

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

αφήνω μεταβλητή_1: bool = αληθής;
αφήνω μεταβλητή_2: bool = ψευδής;

Μπορείτε να συγκρίνετε τις τιμές boolean με τον τελεστή ισότητας, ==και ο τελεστής ανισότητας, !=. Το Rust δεν καθορίζει τους τελεστές σύγκρισης, , <=, και >=, Για bool αξίες.

αφήνω μεταβλητή_1: bool = αληθής;
αφήνω μεταβλητή_2: bool = ψευδής;

αν μεταβλητή_1 == μεταβλητή_2 {
println!("variable_1 is ίσο με variable_2");
} αλλούαν variable_1 != variable_2 {
println!("variable_1 δεν ισούται με variable_2");
}

Ο Τύπος Χαρ

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

// Δήλωση τιμής χαρακτήρων
αφήνω c = 'ένα';

ο απανθρακώνω Ο τύπος είναι χρήσιμος για εργασία με emojis στο Rust.

Πλειάδες στη Σκουριά

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

Δείτε πώς μπορείτε να δηλώσετε μια πλειάδα με ακέραιους αριθμούς 32-bit, συμβολοσειρές και τιμές float64.

αφήνω tup: (i32, &str, f64) = (500, "Γειά σου", 3.14);

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

Μπορείτε να αποκτήσετε πρόσβαση σε μεμονωμένα στοιχεία μιας πλειάδας αποδομώντας την χρησιμοποιώντας αντιστοίχιση μοτίβων ή αποκτώντας απευθείας πρόσβαση σε μεμονωμένα στοιχεία χρησιμοποιώντας τη σύνταξη κουκκίδας (.) και ένα ευρετήριο.

Δείτε πώς μπορείτε να αποκτήσετε πρόσβαση σε μεμονωμένα στοιχεία μιας δομής χρησιμοποιώντας αντιστοίχιση μοτίβων:

αφήνω my_tuple = (10, "Γειά σου Κόσμε!", ψευδής);

αφήνω (x, y, z) = my_tuple;

println!("Το πρώτο στοιχείο είναι: {}", Χ);
println!("Το δεύτερο στοιχείο είναι: {}", y);
println!("Το τρίτο στοιχείο είναι: {}", z);

Δείτε πώς μπορείτε να αποκτήσετε πρόσβαση σε μεμονωμένα στοιχεία χρησιμοποιώντας σημειογραφία κουκκίδων:

αφήνω my_tuple = (10, "Γειά σου Κόσμε!", ψευδής);

println!("οπρώταστοιχείοείναι: {}", my_tuple.0);
println!("οδεύτεροςστοιχείοείναι: {}", my_tuple.1);
println!("οτρίτοςστοιχείοείναι: {}", my_tuple.2);

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

Συστοιχίες σε σκουριά

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

Δείτε πώς μπορείτε να δηλώσετε πίνακες στο Rust:

αφήνω arr = [1, 2, 3, 4, 5];

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

αφήνω mut my_array = [1, 2, 3, 4, 5];

// Πρόσβαση σε στοιχεία
println!("οπρώταστοιχείοείναι: {}", my_array[0]);

// Τροποποίηση στοιχείων
my_array[0] = 100;
println!("οπρώταστοιχείομετάτροποποίησηείναι: {}", my_array[0]);

// Looping πάνω από έναν πίνακα και χειρισμός στοιχείων
ΓιαΕγώσε 0..my_array.λεν() {
my_array[i] *= 2;
}

// εκτύπωση του πίνακα
println!("Ο πίνακας μετά τον χειρισμό: {:?}", my_array);

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

Εργασία με φέτες σκουριάς

Το slice είναι μια δομή δεδομένων που επιτρέπει την αναφορά σε μια συνεχόμενη ακολουθία στοιχείων σε μια συλλογή. Οι φέτες αντιπροσωπεύονται από το &[T] τύπου, όπου T είναι ο τύπος των στοιχείων που είναι αποθηκευμένα στη φέτα.

στ κύριος(){
// δηλώνει έναν πίνακα
αφήνω my_array = [1, 2, 3, 4, 5];

// Δημιουργήστε ένα slice από τον πίνακα
αφήνω my_slice = &my_array[1..3];

// εκτυπώστε τη φέτα
println!("Φέτα: {:?}", my_slice);
}

Παρατηρήστε πώς η σύνταξη εύρους, .., εξάγει ένα κομμάτι από έναν πίνακα χρησιμοποιώντας τον αρχικό δείκτη και έναν δείκτη μεγαλύτερο από το τέλος:

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

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

Μπορείτε να δημιουργήσετε εφαρμογές Web Frontend που υποστηρίζονται από WebAssembly στο Rust

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

Το WebAssembly είναι μια δυαδική μορφή χαμηλού επιπέδου που εκτελείται σε σύγχρονα προγράμματα περιήγησης ιστού, με σχεδόν εγγενή απόδοση. Σας επιτρέπει να γράφετε κώδικα σε πολλές διαφορετικές γλώσσες και να τον μεταφέρετε στο WebAssembly.

Το WebAssembly κερδίζει υιοθέτηση μέσω του Rust. Υπάρχουν πολλά πλαίσια όπως το Yew, το Sycamore και το Seed που μπορείτε να χρησιμοποιήσετε για να δημιουργήσετε frontend που υποστηρίζονται από WebAssembly με το Rust.