Opi muotoilemaan merkkijonotietosi täydelliseen esitykseen.
Merkkijonomuotoilu on keskeinen osa ohjelmointia, koska sen avulla voit käsitellä ja näyttää tietoja luettavalla, jäsennellyllä tavalla. Voit hallita tietojen esitystapaa muotoilemalla merkkijonoja paremman käyttökokemuksen saavuttamiseksi.
Rust tarjoaa tehokkaan ja joustavan mekanismin merkkijonojen muotoiluun, jonka avulla voit luoda selkeän ja tiiviin tulosteen, mukaan lukien numeeriset, päivämäärä-, aika- ja virheenkäsittelytoiminnot.
Perusmerkkijonojen muotoilu ruosteessa
Rust tarjoaa toiminnot merkkijonojen muotoiluun muiden kanssa Ruoste sisäänrakennetut tyypit.
Voit käyttää muoto! makro perusmerkkijonojen muotoiluun Rustissa. The muoto! makro tarjoaa tiiviin ja tehokkaan tavan muodostaa muotoiltuja merkkijonoja, joissa paikkamerkit on suljettu aaltosulkeisiin.
fnpää() {
antaa nimi = "Liisa";
antaa ikä = 25;
antaa viesti = muoto!("Nimeni on {} ja olen {} vuotta vanha.", nimi Ikä);
println!("{}", viesti);
}
The nimi muuttuja sisältää merkkijonon, ja
ikä muuttuja sisältää kokonaisluvun. The viesti muuttujalla on muotoiltu merkkijono, joka käyttää muoto! korvata paikkamerkit vastaavilla arvoilla, jolloin tuloksena on muotomerkkijono, joka sisältää nimi ja ikä.The muoto! makro tukee erilaisia muotomäärityksiä, joiden avulla voit hallita tulostusta.
Näin voit määrittää liukulukujen desimaalien määrän, määrittää kenttien leveyden ja kohdistaa tulosteen.
fnpää() {
antaa pi = 3.14159;
antaa muotoiltu_pi = muoto!("Pi: n arvo on noin {:.2}", pi);
println!("{}", muotoiltu_pi); // tulostaa 3.14
}
The pi muuttuja sisältää liukulukuarvon; muotomääritteen kanssa :.2, voit opastaa muoto! makro näytettäväksi pi kahdella desimaalilla.
The muoto! makro on yksi monista menetelmistä merkkijonojen muotoiluun Rustilla. Harkitse vaatimuksistasi riippuen println! tai kirjoittaa! makro formatoidulle ulostulolle konsoliin tai muihin tulostusvirtoihin.
Numeeristen arvojen muotoilu
Rust tarjoaa myös toimintoja erilaisten numeeristen arvojen muotoiluun kokonaisluvuista floateihin ja muihin numeerisiin tyyppeihin.
Yleensä muotomääritykset ovat ruosteen merkkijonomuotoilun perusta, ja tarvitset oikean määritteen sen mukaan, minkä numeerisen arvon haluat muotoilla.
Tässä on joitain muotomäärityksiä, jotka Rust tarjoaa numeerisille arvoille:
Numeerinen tyyppi |
Muotoilija |
Toiminnallisuus |
---|---|---|
Kokonaisluvut |
%d tai %i |
Muotoilee kokonaisluvut, mukaan lukien positiiviset ja negatiiviset arvot. |
Liukulukuluvut |
%f |
Soveltuu liukulukujen, mukaan lukien integraali- ja murto-osien, muotoiluun. |
Eksponentiaalinen merkintä |
%e tai %E |
Muotoilee numerot tieteellisessä muodossa (eksponentiaalinen muoto). |
Oktaaliesitys |
%o |
Muotoilee kokonaisluvut oktaalimuodossa (kanta 8). |
Heksadesimaaliesitys |
%x tai %X |
Muotoilee kokonaisluvut heksadesimaalimuodossa (kanta 16). |
Lisäksi voit määrittää numeeristen arvojen täytön ja tasauksen. Täyte lisää välilyöntejä tai nollia muotoiltuun numeeriseen arvoon halutun leveyden saavuttamiseksi. Täyte auttaa tasaamaan arvoja esitystä varten taulukkomuodossa tai muissa visuaalisesti järjestetyissä asetteluissa. Ennen leveyden arvoa voit määrittää täytemerkin, joko välilyönnin tai nollan.
Tasaa arvo vasemmalle käyttämällä - lippu. Tasaa arvo oikealle jättämällä lippu pois tai käyttämällä 0-lippua nollatäytteeksi.
fnpää() {
numero = 42
muotoiltu_numero = "%10d" % numero
tulosta (muotoiltu_numero)
}
Arvo tasataan oikealle 10 merkin leveydellä, jolloin numeron edessä on kahdeksan välilyöntiä.
Mukautettu merkkijonomuotoilu ruosteessa
Mukautettu merkkijonomuotoilu on tärkeä vaativammissa toiminnoissa. Voit luoda mukautettuja muotoilutoteutuksia tyypeillesi sisäänrakennetun Rustin avulla std:: fmt moduuli.
The std:: fmt moduuli tarjoaa ominaisuuksia muotoiluun tulosteen laajan valikoiman vaihtoehtoja tietojen ulkoasun mukauttamiseen merkkijonon muunnosprosessin aikana. The std:: fmt moduuli tarjoaa a Näyttö ja Debug ominaisuus, joka on kätevä merkkijonomuotoiluoperaatioissa.
Näytön ominaisuus
The Näyttö ominaisuus auttaa tuottamaan ihmisen luettavissa olevan tulosteen määrittelemällä kuinka objekti tulee muotoilla {} paikkamerkki merkkijonossa. Voit toteuttaa Näyttö ominaisuus sinulle mukautettuja tyyppejä määrittelemällä menetelmän nimeltä fmt joka ottaa muotoilijan argumenttina.
Muotoilija tarjoaa erilaisia menetelmiä muototulosteen ohjaamiseen, kuten write_str ja write_fmt menetelmiä.
käyttää std:: fmt;
// Määrittele 'Piste'-niminen rakenne
structKohta {
x: i32,
v: i32,
}// Toteuta ominaisuus "Näyttö" kohtaan "Piste".
impl fmt:: Näyttö varten Piste {
fnfmt(&itse, f: &mut fmt:: Muotoilija<'_>>) -> fmt::Tulos {
// Muotoile `Point`-rakenne muotoon "(x, y)"
kirjoittaa!(f, "({}, {})", itse.x, itse.y)
}
}fnpää() {
// Luo uusi Point-instanssi
antaa piste = Piste { x: 5, y: 10 };
// Tulosta "Piste"-rakenne käyttämällä "Näyttö"-muotoilua
println!("Pointti on: {}", piste);
}
The Kohta struct toteuttaa Näyttö piirre. Sisällä fmt menetelmä, kirjoittaa! makromuodot ja kirjoita haluttu tulos formatteriin -painikkeella {} paikanpitäjä.
Debug-ominaisuus
The Debug ominaisuus on samanlainen kuin Näyttö ominaisuus, paitsi että se keskittyy tuottamaan tulosteita, jotka sopivat virheenkorjaukseen ja virheiden käsittely tarkoituksiin. The Debug ominaisuutta käytetään pääasiassa {:?} paikanpitäjä.
Toteuttamalla Debug ominaisuus mukautetuissa tyypeissäsi on suoraviivainen. The Debug ominaisuus tarjoaa oletustoteutuksen, joka perustuu Näyttö piirre. Voit kuitenkin ohittaa oletuskäyttäytymisen tarjotaksesi erikoistuneen virheenkorjausesityksen.
käyttää std:: fmt;
// Määrittele 'Person'-niminen rakenne
#[derive (debug)]
structHenkilö {
nimi: merkkijono,
ikä: u32,
}// Toteuta ominaisuus "Näyttö" henkilölle
impl fmt:: Näyttö varten Henkilö {
fnfmt(&itse, f: &mut fmt:: Muotoilija) -> fmt::Tulos {
// Muotoile "Person"-rakenne ihmisen luettavaksi merkkijonoksi
kirjoittaa!(f, "Nimi Ikä: {}", itse.nimi, itse.ikä)
}
}fnpää() {
// Luo uusi henkilö-instanssi
antaa henkilö = henkilö {
nimi: merkkijono::from("Liisa"),
ikä: 30,
};// Tulosta "Person"-rakenne käyttämällä "Näyttö"-muotoilua
println!("Näyttö: {}", henkilö);
// Tulosta "Person"-rakenne käyttämällä "Debug"-muotoilua
println!("Virheenkorjaus: {:?}", henkilö);
}
Ohjelma johtaa Debug ominaisuus varten Henkilö rakenna kanssa #[derive (debug)]. Tämä luo toteutuksen automaattisesti struct-kenttien perusteella.
println-makro tulostaa virheenkorjausesityksen kanssa Debug muotoilun paikkamerkki tulosteen muotoilua varten Debug toteutus.
Rustissa on monipuolinen tyyppijärjestelmä
Rustin rikkaalla tyyppijärjestelmällä on ratkaiseva rooli merkkijonojen muotoilussa. Hyödyntämällä Rustin staattista kirjoittamista ja tehokkaita muotoilukirjastoja, voit kirjoittaa turvallista ja tehokasta koodia samalla kun käsittelet merkkijonojen käsittely- ja muotoilutehtäviä.
Tyyppijärjestelmä varmistaa käännösajan turvallisuuden ja estää yleiset virheet tyyppieroista muodon määrittämisongelmiin. Rust-tyyppisen järjestelmän ja sen laajojen muotoiluominaisuuksien yhdistelmällä voit selvitä itsevarmasti merkkijonojen muotoilun haasteista ja hyödynnä kielen suorituskykyä ja turvallisuutta takuita.