Μάθετε πώς να μορφοποιείτε τα δεδομένα συμβολοσειράς σας για τέλεια παρουσίαση.
Η μορφοποίηση συμβολοσειρών είναι μια κρίσιμη πτυχή του προγραμματισμού, καθώς σας επιτρέπει να χειρίζεστε και να εμφανίζετε δεδομένα με ευανάγνωστο, δομημένο τρόπο. Μπορείτε να ελέγξετε την παρουσίαση δεδομένων μορφοποιώντας συμβολοσειρές για καλύτερη εμπειρία χρήστη.
Το Rust παρέχει έναν ισχυρό και ευέλικτο μηχανισμό για τη μορφοποίηση συμβολοσειρών που σας δίνει τη δυνατότητα να δημιουργείτε σαφείς και συνοπτικές εξόδους, συμπεριλαμβανομένων λειτουργιών αριθμητικής, ημερομηνίας, ώρας και χειρισμού σφαλμάτων.
Βασική μορφοποίηση συμβολοσειρών σε σκουριά
Το Rust παρέχει λειτουργικότητα για τη μορφοποίηση χορδών με άλλα Ενσωματωμένοι τύποι σκουριάς.
Μπορείτε να χρησιμοποιήσετε το μορφή! μακροεντολή για βασική μορφοποίηση συμβολοσειρών στο Rust. ο μορφή! Η μακροεντολή παρέχει έναν συνοπτικό και ισχυρό τρόπο κατασκευής μορφοποιημένων συμβολοσειρών με σύμβολα θέσης που περικλείονται σε σγουρά άγκιστρα.
στκύριος() {
αφήνω όνομα = "Αλίκη";
αφήνω ηλικία = 25;
αφήνω μήνυμα = μορφή!("Το όνομά μου είναι {} και είμαι {} χρονών.", όνομα ηλικία);
println!("{}", μήνυμα);
}
ο όνομα η μεταβλητή κρατά μια συμβολοσειρά και το ηλικία μεταβλητή κρατά έναν ακέραιο. ο μήνυμα η μεταβλητή έχει μια μορφοποιημένη συμβολοσειρά που χρησιμοποιεί μορφή! για να αντικαταστήσετε τα σύμβολα κράτησης θέσης με αντίστοιχες τιμές, με αποτέλεσμα μια συμβολοσειρά μορφής που περιέχει το όνομα και ηλικία.
ο μορφή! Η μακροεντολή υποστηρίζει διάφορους προσδιοριστές μορφής που σας επιτρέπουν να ελέγχετε την έξοδο.
Δείτε πώς μπορείτε να καθορίσετε τον αριθμό των δεκαδικών ψηφίων για αριθμούς κινητής υποδιαστολής, να ορίσετε το πλάτος των πεδίων και να ευθυγραμμίσετε την έξοδο.
στκύριος() {
αφήνω πι = 3.14159;
αφήνω formatted_pi = μορφή!("Η τιμή του pi είναι περίπου {:.2}", πι);
println!("{}", formatted_pi); // εκτυπώνει 3.14
}
ο πι Η μεταβλητή έχει τιμή κινητής υποδιαστολής. με τον προσδιοριστή μορφής :.2, μπορείτε να δώσετε οδηγίες στο μορφή! μακροεντολή για εμφάνιση πι με δύο δεκαδικά ψηφία.
ο μορφή! Η μακροεντολή είναι μία από τις πολλές μεθόδους μορφοποίησης συμβολοσειρών με το Rust. Ανάλογα με τις απαιτήσεις σας, σκεφτείτε να χρησιμοποιήσετε το println! ή γράφω! μακροεντολή για μορφοποιημένη έξοδο στην κονσόλα ή σε άλλες ροές εξόδου.
Μορφοποίηση αριθμητικών τιμών
Το Rust παρέχει επίσης λειτουργικότητα για τη μορφοποίηση διαφόρων αριθμητικών τιμών, από ακέραιους αριθμούς έως float και άλλους αριθμητικούς τύπους.
Γενικά, οι προσδιοριστές μορφής αποτελούν τη βάση της μορφοποίησης συμβολοσειρών στο Rust και θα χρειαστείτε τον σωστό προσδιοριστή ανάλογα με την αριθμητική τιμή που θέλετε να μορφοποιήσετε.
Ακολουθούν μερικοί από τους προσδιοριστές μορφής που παρέχει το Rust για αριθμητικές τιμές:
Αριθμητικός τύπος |
Μορφοποιητής |
Λειτουργικότητα |
---|---|---|
Ακέραιοι |
%d ή %i |
Μορφοποιεί ακέραιους αριθμούς συμπεριλαμβανομένων θετικών και αρνητικών τιμών. |
Αριθμοί κινητής υποδιαστολής |
%φά |
Κατάλληλο για τη μορφοποίηση αριθμών κινητής υποδιαστολής, συμπεριλαμβανομένων των αναπόσπαστων και των κλασματικών μερών. |
Εκθετική σημειογραφία |
%e ή %E |
Μορφοποιεί αριθμούς σε επιστημονική σημειογραφία (εκθετική μορφή). |
Οκταδική αναπαράσταση |
%o |
Μορφοποιεί ακέραιους αριθμούς σε οκταδική παράσταση (βάση 8). |
Δεκαεξαδική παράσταση |
%x ή %X |
Μορφοποιεί ακέραιους αριθμούς σε δεκαεξαδική παράσταση (βάση 16). |
Επιπλέον, μπορείτε να καθορίσετε συμπλήρωση και στοίχιση για αριθμητικές τιμές. Η συμπλήρωση προσθέτει κενά ή μηδενικά σε μια διαμορφωμένη αριθμητική τιμή για να επιτευχθεί το επιθυμητό πλάτος. Το padding βοηθά στην ευθυγράμμιση τιμών για παρουσίαση σε μορφή πίνακα ή άλλες οπτικά οργανωμένες διατάξεις. Πριν από την τιμή του πλάτους, μπορείτε να καθορίσετε τον χαρακτήρα συμπλήρωσης, είτε κενό είτε μηδέν.
Για να στοιχίσετε μια τιμή αριστερά, χρησιμοποιήστε το - σημαία. Για να στοιχίσετε μια τιμή δεξιά, παραλείψτε τη σημαία ή χρησιμοποιήστε τη σημαία «0» για μηδενική πλήρωση.
στκύριος() {
αριθμός = 42
μορφοποιημένος_αριθμός = "% 10d" % αριθμός
εκτύπωση (formatted_number)
}
Η τιμή είναι στοιχισμένη δεξιά σε πλάτος 10 χαρακτήρων, με αποτέλεσμα οκτώ κενά πριν από τον αριθμό.
Προσαρμοσμένη μορφοποίηση συμβολοσειρών σε Rust
Η προσαρμοσμένη μορφοποίηση συμβολοσειρών είναι σημαντική για πιο απαιτητικές λειτουργίες. Μπορείτε να δημιουργήσετε προσαρμοσμένες εφαρμογές μορφοποίησης για τους τύπους σας με το ενσωματωμένο Rust std:: fmt μονάδα μέτρησης.
ο std:: fmt Η ενότητα παρέχει χαρακτηριστικά για τη μορφοποίηση της εξόδου με ένα ευρύ φάσμα επιλογών για την προσαρμογή της εμφάνισης δεδομένων κατά τη διαδικασία μετατροπής συμβολοσειρών. ο std:: fmt Η ενότητα παρέχει α Απεικόνιση και Εντοπισμός σφαλμάτων χαρακτηριστικό που είναι βολικό για λειτουργίες μορφοποίησης συμβολοσειρών.
Το χαρακτηριστικό εμφάνισης
ο Απεικόνιση Το χαρακτηριστικό βοηθά στην παραγωγή αναγνώσιμων από τον άνθρωπο εξόδου ορίζοντας πώς ένα αντικείμενο πρέπει να μορφοποιηθεί με το {} σύμβολο κράτησης θέσης σε μια συμβολοσειρά. Μπορείτε να εφαρμόσετε το Απεικόνιση χαρακτηριστικό για σας προσαρμοσμένους τύπους ορίζοντας μια μέθοδο που ονομάζεται fmt που παίρνει ως επιχείρημα έναν μορφοποιητή.
Ο μορφοποιητής παρέχει διάφορες μεθόδους για τον έλεγχο της εξόδου μορφής, όπως η write_str και write_fmt μεθόδους.
χρήση std:: fmt;
// Ορίστε μια δομή με το όνομα `Point`
structΣημείο {
Χ: i32,
y: i32,
}// Εφαρμόστε το χαρακτηριστικό «Εμφάνιση» για το «Σημείο».
υπονοώ fmt:: Εμφάνιση Για Σημείο {
στfmt(&εαυτός, στ: &mut fmt:: Μορφοποιητής<'_>) -> fmt::Αποτέλεσμα {
// Μορφοποίηση της δομής `Point` ως "(x, y)"
γράφω!(φά, "({}, {})", εαυτός.Χ, εαυτός.y)
}
}στκύριος() {
// Δημιουργία μιας νέας παρουσίας «Point».
αφήνω σημείο = Σημείο { x: 5, y: 10 };
// Εκτυπώστε τη δομή "Point" χρησιμοποιώντας τη μορφοποίηση "Display".
println!("Το θέμα είναι: {}", σημείο);
}
ο Σημείο struct υλοποιεί το Απεικόνιση χαρακτηριστικό. μεσα στην fmt μέθοδος, η γράφω! φορμά μακροεντολών και γράψτε την επιθυμητή έξοδο στον μορφοποιητή με το {} κράτησης θέσης.
Το χαρακτηριστικό εντοπισμού σφαλμάτων
ο Εντοπισμός σφαλμάτων το χαρακτηριστικό είναι παρόμοιο με το Απεικόνιση χαρακτηριστικό, εκτός από το ότι εστιάζει στην παραγωγή εξόδου κατάλληλου για εντοπισμό σφαλμάτων και χειρισμός σφαλμάτων σκοποί. ο Εντοπισμός σφαλμάτων το χαρακτηριστικό χρησιμοποιείται κυρίως με το {:?} κράτησης θέσης.
Εφαρμογή της Εντοπισμός σφαλμάτων Το χαρακτηριστικό στους προσαρμοσμένους τύπους σας είναι απλό. ο Εντοπισμός σφαλμάτων Το χαρακτηριστικό παρέχει μια προεπιλεγμένη υλοποίηση με βάση το Απεικόνιση χαρακτηριστικό. Ωστόσο, μπορείτε να παρακάμψετε την προεπιλεγμένη συμπεριφορά για να παρέχετε μια εξειδικευμένη αναπαράσταση εντοπισμού σφαλμάτων.
χρήση std:: fmt;
// Ορίστε μια δομή με το όνομα `Person`
#[παραγωγή (Εντοπισμός σφαλμάτων)]
structΠρόσωπο {
όνομα: Σειρά,
ηλικία: u32,
}// Εφαρμόστε το χαρακτηριστικό "Εμφάνιση" για το "Person".
υπονοώ fmt:: Εμφάνιση Για Άτομο {
στfmt(&εαυτός, στ: &mut fmt:: Μορφοποιητής) -> fmt::Αποτέλεσμα {
// Μορφοποιήστε τη δομή "Person" ως μια συμβολοσειρά αναγνώσιμη από τον άνθρωπο
γράφω!(φά, "Ονομα ηλικία: {}", εαυτός.όνομα, εαυτός.ηλικία)
}
}στκύριος() {
// Δημιουργία μιας νέας παρουσίας "Person".
αφήνω άτομο = Άτομο {
όνομα: Σειρά::από("Αλίκη"),
ηλικία: 30,
};// Εκτυπώστε τη δομή "Person" χρησιμοποιώντας τη μορφοποίηση "Display".
println!("Απεικόνιση: {}", πρόσωπο);
// Εκτυπώστε τη δομή "Person" χρησιμοποιώντας τη μορφοποίηση "Debug".
println!("Εντοπισμός σφαλμάτων: {:?}", πρόσωπο);
}
Το πρόγραμμα προέρχεται από το Εντοπισμός σφαλμάτων χαρακτηριστικό για το Πρόσωπο δομή με #[παραγωγή (Εντοπισμός σφαλμάτων)]. Αυτό δημιουργεί αυτόματα την υλοποίηση με βάση τα πεδία struct.
Η μακροεντολή println εκτυπώνει την αναπαράσταση εντοπισμού σφαλμάτων με το Εντοπισμός σφαλμάτων μορφοποίηση κράτησης θέσης για μορφοποίηση της εξόδου χρησιμοποιώντας το Εντοπισμός σφαλμάτων εκτέλεση.
Το Rust διαθέτει σύστημα τύπου πλούσιου σε χαρακτηριστικά
Το σύστημα πλούσιου τύπου Rust παίζει καθοριστικό ρόλο στη μορφοποίηση συμβολοσειρών. Αξιοποιώντας τις βιβλιοθήκες στατικής πληκτρολόγησης και ισχυρής μορφοποίησης του Rust, μπορείτε να γράψετε ασφαλή, αποτελεσματικό κώδικα ενώ χειρίζεστε εργασίες χειρισμού συμβολοσειρών και μορφοποίησης.
Το σύστημα τύπου διασφαλίζει την ασφάλεια του χρόνου μεταγλώττισης και αποτρέπει κοινά σφάλματα, από αναντιστοιχίες τύπων έως ζητήματα προσδιοριστή μορφής. Με το συνδυασμό του συστήματος τύπου Rust και των εκτεταμένων δυνατοτήτων μορφοποίησης, μπορείτε αντιμετωπίστε με σιγουριά τις προκλήσεις μορφοποίησης συμβολοσειρών και επωφεληθείτε από την απόδοση και την ασφάλεια της γλώσσας εγγυήσεις.