Rust语言的所有权以及借用、引用、切片

Rust没有虚拟机和垃圾回收,却又提供内存安全,有着媲美C/C++的性能,又同时支持命令式函数式编程以及泛型等便利。

优雅(上层抽象)和高性能(底层控制)往往是鱼和熊掌不可兼得,但Rust试图挑战这一矛盾。允许你做带垃圾回收的语言(如Java)做不到的事,比如控制底层。而同时又避免了比如空指针,野指针在内的(例如C/C++)的问题。

Rust被用于开发浏览器引擎(Servo),操作系统(Redox OS),并且特别适合开发Web Assembly和嵌入式,以及高性能的Web服务。

Rust和其它语言相比,有一个非常重要的特性所有权(Ownership)以及其相关的借用(Borrowing),引用(References),切片(Slice)。这个特性保证了Rust不需要垃圾回收以及强大的内存安全,同时还能在多线程编程中带来好处。

目前发现Rust最大的缺点是:想写一个能够编译通过的代码实在是太难。但正是因为Rust拥有强大的编译器,它能够提前把bug扼杀在摇篮里,在编译阶段就拒绝各种各样的bug,从而同时保证程序的性能和安全。

关于Rust的所有权、借用、引用、切片,或许你有很多看法?

196 views
Comments
登录后评论
Sign In