【Rust日报】2020-01-25 Rust 2020 路线图,typed-builder,format!

  • 2020 年 2 月 20 日
  • 笔记

Rust 2020 路线图

typed-builder v0.5.0

typed-builder,创建经过编译时验证的构建器,发布了v0.5.0版本。示例:

#[macro_use]  extern crate typed_builder;    #[derive(TypedBuilder)]  struct Foo {      // Mandatory Field:      x: i32,        // #[builder(default)] without parameter - use the type's default      // #[builder(setter(strip_option))] - wrap the setter argument with `Some(...)`      #[builder(default, setter(strip_option))]      y: Option<i32>,        // Or you can set the default      #[builder(default=20)]      z: i32,  }    Foo::builder().x(1).y(2).z(3).build();  Foo::builder().z(1).x(2).y(3).build();    Foo::builder().x(1).build();    Foo::builder().build(); // missing x  Foo::builder().x(1).y(2).y(3); // y is specified twice  

crate地址

RtcSms

RtcSms,用来发送短信报告下一辆公交车到达前所剩余的时间。

Github

宏format!

format!宏旨在使那些使用C语言的printf/fprintf函数或Python语言的str.format函数的用户提供熟悉格式化方法。

format!("Hello");                 // => "Hello"  format!("Hello, {}!", "world");   // => "Hello, world!"  format!("The number is {}", 1);   // => "The number is 1"  format!("{:?}", (3, 4));          // => "(3, 4)"  format!("{value}", value=4);      // => "4"  format!("{} {}", 1, 2);           // => "1 2"  format!("{:04}", 42);             // => "0042" with leading zeros  

使用文档