Rust 1.43 Programming Language Tso tawm

luam tawm system programming lus tso tawm Xeb 1.43, nrhiav tau los ntawm Mozilla qhov project. Cov lus qhia txog kev nyab xeeb ntawm kev nco, muab kev tswj hwm kev nco tsis siv neeg, thiab muab cov cuab yeej rau kev ua tiav cov haujlwm siab sib luag yam tsis tas siv cov khoom khib nyiab thiab Runtime.

Rust qhov kev tswj hwm tsis siv neeg lub cim xeeb tso tawm tus tsim tawm los ntawm kev siv tus taw tes thiab tiv thaiv cov teeb meem tshwm sim los ntawm kev tswj hwm lub cim xeeb qis, xws li kev nkag mus rau lub cim xeeb tom qab tsis pub dawb, tsis muaj qhov taw qhia tsis zoo, tsis muaj kev cuam tshuam, thiab lwm yam. Tus neeg saib xyuas pob yog tsim los faib cov tsev qiv ntawv, xyuas kom muaj kev sib dhos thiab tswj cov kev vam meej los ntawm qhov project. cargo, tso cai rau koj kom tau txais cov tsev qiv ntawv xav tau rau qhov kev pab cuam hauv ib nias. Lub chaw khaws cia tau txais kev txhawb nqa rau cov tsev qiv ntawv crates.io.

ntsiab kev tsim kho tshiab:

  • Macros muab lub peev xwm los siv cov seem ntawm cov ntsiab lus los hloov lawv mus rau hauv cov cai rau qhov zoo (zoo), kev siv (impl) lossis lwm cov blocks. Piv txwv li:

    macro_rules! mac_trait {
    ($i: yam) => {
    zoo T {$i }
    }
    }
    mac_zoo! {
    fn foo() {}
    }

    Yuav ua rau tiam:

    zoo T {
    fn foo() {}
    }

  • Txhim kho hom kev tshawb pom ntawm primitives, references thiab binary ua haujlwm.
    Piv txwv li, cov cai hauv qab no, uas yav dhau los ua rau muaj qhov yuam kev, tam sim no yuav tuaj yeem sau ua ke (Rust tam sim no raug txiav txim siab tias 0.0 thiab & 0.0 yuav tsum yog hom f32):

    cia n: f32 = 0.0 + & 0.0;

  • Ib puag ncig tshiab hloov pauv CARGO_BIN_EXE_{name} tau ntxiv rau Cargo, uas tau teeb tsa thaum tsim kev sib koom ua ke kev sim thiab tso cai rau koj los txiav txim siab tag nrho txoj hauv kev rau cov ntaub ntawv ua tiav tau teev tseg hauv "[[bin]]" ntu ntawm pob.
  • Yog tias cov lus tso cai siv cov cwj pwm xws li "#[cfg()]".
  • Lub tsev qiv ntawv muab lub peev xwm los siv cov khoom sib txuas ncaj qha rau cov lej thiab feem ntau, tsis tas yuav xa cov qauv. Piv txwv li, koj tuaj yeem sau tam sim u32::MAX lossis f32::NAN yam tsis tau qhia ua ntej "siv std::u32" thiab "siv std::f32".
  • Tshiab module ntxiv txheej thaum ub, uas re-exports Rust primitive hom, piv txwv li thaum koj xav tau sau ib tug macro thiab xyuas kom meej cov hom tsis zais.
  • Ib feem tshiab ntawm APIs tau raug xa mus rau qeb ruaj khov, suav nrog kev ruaj khov

    Ib zaug::is_ua tiav,
    f32::LOG10_2,
    f32::LOG2_10,
    f64::LOG10_2,
    f64::LOG2_10 thiab
    iter:: ib zaug_with.

Tau qhov twg los: opennet.ru

Ntxiv ib saib