Naučite se oblikovati podatke niza za popolno predstavitev.
Oblikovanje nizov je ključni vidik programiranja, saj vam omogoča upravljanje in prikaz podatkov na berljiv in strukturiran način. Predstavitev podatkov lahko nadzirate s formatiranjem nizov za boljšo uporabniško izkušnjo.
Rust ponuja zmogljiv in prilagodljiv mehanizem za oblikovanje nizov, ki vam omogoča ustvarjanje jasnih in jedrnatih izpisov, vključno s funkcijami za številčenje, datum, čas in obravnavo napak.
Osnovno oblikovanje nizov v Rustu
Rust ponuja funkcionalnost za oblikovanje nizov z drugimi Rust vgrajene vrste.
Lahko uporabite format! makro za osnovno oblikovanje nizov v Rust. The format! makro ponuja jedrnat in zmogljiv način za sestavo oblikovanih nizov z ogradami, zaprtimi v zavitih oklepajih.
fnglavni() {
pustiti ime = "Alice";
pustiti starost = 25;
pustiti sporočilo = format!("Ime mi je {} in star sem {} let.", ime, starost);
println!("{}", sporočilo);
}
The ime spremenljivka vsebuje niz in starost spremenljivka vsebuje celo število. The
sporočilo spremenljivka ima oblikovan niz, ki uporablja format! da zamenjate nadomestne oznake z ustreznimi vrednostmi, kar povzroči formatni niz, ki vsebuje ime in starost.The format! makro podpira različne specifikatorje formata, ki vam omogočajo nadzor izhoda.
Tukaj je opisano, kako določite število decimalnih mest za števila s plavajočo vejico, določite širino polj in poravnate izpis.
fnglavni() {
pustiti pi = 3.14159;
pustiti oblikovan_pi = format!("Vrednost pi je približno {:.2}", pi);
println!("{}", oblikovan_pi); // natisne 3.14
}
The pi spremenljivka ima vrednost s plavajočo vejico; z določevalcem formata :.2, lahko naročite format! makro za prikaz pi z dvema decimalkama.
The format! macro je ena od mnogih metod oblikovanja nizov z Rust. Glede na vaše zahteve razmislite o uporabi println! oz napiši! makro za formatiran izhod v konzolo ali druge izhodne tokove.
Oblikovanje številskih vrednosti
Rust ponuja tudi funkcionalnost za oblikovanje različnih številskih vrednosti, od celih do lebdečih in drugih številskih vrst.
Na splošno so specifikatorji formata temelj oblikovanja nizov v Rustu in potrebovali boste pravi specifikator glede na številsko vrednost, ki jo želite formatirati.
Tukaj je nekaj specifikatorjev formata, ki jih Rust ponuja za številske vrednosti:
Številski tip |
Oblikovalnik |
Funkcionalnost |
---|---|---|
Cela števila |
%d ali %i |
Oblikuje cela števila, vključno s pozitivnimi in negativnimi vrednostmi. |
Številke s plavajočo vejico |
%f |
Primerno za oblikovanje števil s plavajočo vejico, vključno z integrali in ulomki. |
Eksponentni zapis |
%e ali %E |
Oblikuje števila v znanstvenem zapisu (eksponentna oblika). |
Oktalna predstavitev |
%o |
Oblikuje cela števila v osmiški predstavitvi (osnova 8). |
Šestnajstiška predstavitev |
%x ali %X |
Oblikuje cela števila v šestnajstiški predstavitvi (osnova 16). |
Poleg tega lahko določite oblazinjenje in poravnavo za številske vrednosti. Oblazinjenje doda presledke ali ničle oblikovani številski vrednosti, da doseže želeno širino. Oblazinjenje pomaga poravnati vrednosti za predstavitev v obliki tabele ali druge vizualno organizirane postavitve. Pred vrednostjo širine lahko podate znak za oblazinjenje, presledek ali ničlo.
Za levo poravnavo vrednosti uporabite - zastava. Če želite vrednost poravnati desno, izpustite zastavico ali uporabite zastavico '0' za ničelno polnjenje.
fnglavni() {
številka = 42
formatirano_število = "%10d" % število
natisni (formatirano_število)
}
Vrednost je desno poravnana znotraj širine 10 znakov, kar povzroči osem začetnih presledkov pred številko.
Oblikovanje nizov po meri v Rustu
Oblikovanje nizov po meri je pomembno za zahtevnejše operacije. Ustvarite lahko izvedbe oblikovanja po meri za svoje tipe z vgrajenim Rustom std:: fmt modul.
The std:: fmt modul ponuja lastnosti za oblikovanje izhoda s širokim naborom možnosti za prilagajanje videza podatkov med postopkom pretvorbe niza. The std:: fmt modul zagotavlja a Zaslon in Odpravljanje napak lastnost, ki je priročna za operacije oblikovanja nizov.
Prikazna lastnost
The Zaslon trait pomaga ustvariti človeku berljiv izhod, tako da definira, kako naj bo predmet oblikovan z {} mesto v nizu. Lahko izvajate Zaslon lastnost za vašo vrste po meri z definiranjem metode, imenovane fmt ki kot argument sprejme oblikovalnik.
Oblikovalnik ponuja različne metode za nadzor izpisa formata, kot je write_str in write_fmt metode.
uporaba std:: fmt;
// Definirajte strukturo z imenom `Point`
structTočka {
x: i32,
y: i32,
}// Implementiraj lastnost `Display` za `Point`
impl fmt:: Prikaz za Točka {
fnfmt(&sebe, f: &mut fmt:: Oblikovalnik<'_>) -> fmt::Rezultat {
// Oblikuj strukturo `Point` kot "(x, y)"
napiši!(f, "({}, {})", sebe.x, sebe.y)
}
}fnglavni() {
// Ustvari nov primerek `Point`
pustiti točka = točka { x: 5, y: 10 };
// Natisni strukturo `Point` z uporabo oblikovanja `Display`
println!("Bistvo je: {}", točka);
}
The Točka struct izvaja Zaslon lastnost. Znotraj fmt metoda, napiši! makro formate in zapišite želeni izhod v oblikovalnik z {} rezervirano mesto.
Lastnost odpravljanja napak
The Odpravljanje napak lastnost je podobna Zaslon lastnost, le da se osredotoča na ustvarjanje rezultatov, primernih za odpravljanje napak in obravnavanje napak namene. The Odpravljanje napak lastnost se uporablja predvsem z {:?} rezervirano mesto.
Izvajanje Odpravljanje napak lastnost vaših tipov po meri je preprosta. The Odpravljanje napak lastnost zagotavlja privzeto izvedbo, ki temelji na Zaslon lastnost. Vendar pa lahko preglasite privzeto vedenje, da zagotovite specializirano predstavitev odpravljanja napak.
uporaba std:: fmt;
// Definirajte strukturo z imenom `Person`
#[izpelji (odpravljanje napak)]
structOseba {
ime: Vrvica,
starost: u32,
}// Implementiraj lastnost `Display` za `Person`
impl fmt:: Prikaz za Oseba {
fnfmt(&sebe, f: &mut fmt:: Oblikovalnik) -> fmt::Rezultat {
// Oblikuj strukturo `Person` kot človeku berljiv niz
napiši!(f, "Ime: {}, starost: {}", sebe.ime, sebe.starost)
}
}fnglavni() {
// Ustvari nov primerek `Person`
pustiti oseba = oseba {
ime: Vrvica::od("Alice"),
starost: 30,
};// Natisni strukturo `Person` z uporabo oblikovanja `Display`
println!("Prikaz: {}", oseba);
// Natisni strukturo `Person` z uporabo oblikovanja `Debug`
println!("Odpravljanje napak: {:?}", oseba);
}
Program izhaja iz Odpravljanje napak lastnost za Oseba struct with #[izpelji (odpravljanje napak)]. To samodejno ustvari izvedbo na podlagi strukturnih polj.
Makro println natisne predstavitev odpravljanja napak z Odpravljanje napak oblikovanje nadomestnega mesta za oblikovanje izpisa z uporabo Odpravljanje napak izvajanje.
Rust ima sistem z bogatimi funkcijami
Rustov sistem bogatih tipov igra ključno vlogo pri oblikovanju nizov. Z izkoriščanjem Rustovega statičnega tipkanja in zmogljivih knjižnic za oblikovanje lahko pišete varno in učinkovito kodo, medtem ko opravljate naloge manipulacije nizov in oblikovanja.
Sistem tipov zagotavlja varnost med prevajanjem in preprečuje pogoste napake, od neujemanja tipov do težav z določitelji formata. S kombinacijo Rustovega tipskega sistema in njegovih obsežnih zmožnosti oblikovanja lahko se samozavestno spopadajte z izzivi oblikovanja nizov in izkoristite učinkovitost in varnost jezika garancije.