最近,版本发布了,因为Rust新版本发布比较频繁,稳定版本大约每六周就会发布一次,所以每个版本的新特性不会太多。
如果你在以前已经通过rustup安装了Rust,可以通过下面的命令将Rust升级到1.58:
rustupupdatestable
的主要新特性包括:
在格式字符串中支持捕获的标识符
对Windows上Command的搜索路径的更改
标准库中更多的#[must_use]标注(annotations)
一些新库的稳定性
格式化字符串中支持捕获的标识符在之前格式化字符串有以下三种方式:
fnmain(){letperson="Rustaceans";letmsg="CoolBoy";println!("Hello,{},{}!",person,msg);//隐式位置println!("Hello,{0},{1}!Hello,{0},{1}!",person,msg);//显式的索引println!("Hello,{person},{msg}!",person=person,msg=msg);//命名}增加了在格式化字符串中直接捕获局部变量的标识符的支持,现在可以直接这么写了:
fnmain(){letperson="Rustaceans";letmsg="CoolBoy";println!("Hello,{person},{msg}!");//直接在格式化字符串中捕获局部变量person和msg}也可以用于格式化参数:
let(width,precision)=get_format();for(name,score)inget_scores(){println!("{name}:{score:width$.precision$}");}需要注意格式字符串只能捕获普通标识符,不能捕获任意路径或表达式。对于更复杂的参数,要么先将它们赋值给本地变量,要么使用1.58版本之前,命名格式参数的形式(name=expression)。
在格式化字符串中直接捕获标识符的特性,适用于所有接受格式字符串的宏。
其他新特性的详细信息可以访问。
参考
文章版权声明:除非注明,否则均为虚境探索者原创文章,转载或复制请以超链接形式并注明出处。