之前被同事安利了很多次Rust,周末没事去Rust官方文档学习了下,记录一些对Rust语言粗浅理解。
一. 所有权系统
要说Rust语言的核心优势,应该就是运行效率+内存安全了,这两者都与其独树一帜的所有权系统有关。要谈所有权系统,GC是个不错的切入点,众所周知,编程语言GC主要包含两种: 手动GC和自动GC,它们各有利弊,总的来说是运行效率和内存安全之间的权衡取舍。而Rust则尝试两者兼顾,Rust的GC,我将其理解为半自动GC或编译期GC,即开发者配合编译器通过所有权约束来明确变量的生命周期,这样Rust在编译期就已经知道内存应该何时释放,不需要运行时通过复杂的GC算法去解析变量的引用关系,也无需像C/C++让开发者对各种内存泄露、越界访问等问题如履薄冰。这也是Rust敢号称可靠的系统级编程语言,运行时效率叫板C/C++的底气来源。