技术开发 频道

Rust 1.2再添新功能,你试用了吗?

  【IT168 编译】系统编程语言Rust再次被更新,其增加了对关联常量的支持,Cargo功能也得到了改善。

Rust 1.2再添新功能,程序员你试用了吗?

  Rust是Mozilla开发的注重安全、性能和并发性的编程语言,预期用途包括嵌入其他语言,编写具有特定空间和时间要求的程序,以及编写底层代码,如设备驱动程序和操作系统。

  对关联常量的支持补充了Rust对关联功能的现有支持,可以与traits,structs和enum相关联。关联的函数是与类型本身相关联的,而不是任何特定实例。Rust 1.20还添加了定义“关联常量”的功能:

  struct Struct;

  impl Struct {

  const ID: u32 = 0;

  }

  fn main() {

  println!("the ID of Struct is: {}", Struct::ID);

  }

  它将常数ID与Struct相关联。

  Traits也可以与常量相关联,并且它们还会具有特殊能力,你可以像关联类型一样来关联一个常量,只声明不赋值。Traits的执行者会在运行时赋值。

  Rust的包管理器Cargo也已进行了更新,第一个更新是crates.io的秘密身份验证令牌被移动了位置,这意味着它可以被赋予权限级别,同时也可以被系统的其他用户隐藏。在此之前,它是被存储在配置文件中,它只允许某些级别存储。

  Cargo的另一个改变是允许存储次级二进制文件,这意味着可以将较大的二进制文件拆分开来存储。

  前段时间,Rust语言官方网站发布了一份2017年Rust语言使用情况报告,参与问卷调查的开发者认为Rust需要改进的地方如下,不知这次Rust的更新是否能够让程序员满意。

  17%的反馈提到Rust需要提升工效,比如可以更方便地用它创建原型,更容易地进行异步编程,提供更多灵活的数据结构类型。

  ·16%的反馈希望Rust具有更好的文档。文档里应该包含入门教程,并提供更多的示例和视频教材。

  ·15%的反馈指出Rust需要提供更多的包支持。

  ·9%的反馈鼓励Rust提供官方的IDE支持。

  ·8%的反馈希望能够降低学习曲线的坡度。

  ·其他的反馈包括:更快的编译速度、更多的协作支持、更好的语言互操作性、改进的工具、更友好的错误消息、改进对web assembly的支持等。

1