rust编程语言变量,rust 变量
Rust是否过度限制了程序员的能力发挥呢?
程序员水平不一, 让他们随意发挥不知道能写出什么代码来. 你可能觉得这种写法没有问题, 但是编译器不这样认为。
Rust 语法限制很多,但大多数都是为了阻止程序员写出不安全的代码。如果用C++完成某一功能有10条路可以走,那么用Rust完成同样的功能可能只有2条路可 以走。Rust通过语法限制配合Rust runtime,把那些可能出现data race、dangling reference、double free等问题的不安全道路堵死了。
比如,大多编程语言对于引用的使用都没有限制,而Rust则通过对引用施加一些规则,避免了data race的问题:Rust中,一个变量的引用分为可变引用和不可变引用,前者可以读写变量值,后者只能读变量值。对于同一作用域内的同一变量,该变量的引 用必须满足下述规则之一:
如果代码不满足上面任何一个规则,那么代码就有潜在的data race风险,将不能通过编译。下面这段代码不满足上面的规则,编译时会出错。
// 这段代码定义了一个可变引用r1,和不可变引用r2,
// 但二者作用域相交,将无法通过编译
fnmain() {
let mut s = Stringfrom("Hello World!");
rust适合开发什么?
rust是原生语言,编译出的代码直接运行,类似C语言,但更安全,引入很多约束,比如变量转移,借用,作用域等,避免了C语言中频繁出现空指针,野指针错误,在语言层面保证了开发软件的健壮性,而并没有引入GC和虚拟机,保证了软件的运行效率。这就决定其可替代的目标是C语言,语言在设计思路也是这样的,比如,其没有纷繁复杂的OOP支持,仅仅支持strcut和方法绑定,相对原始,类似C语言。
rust适合开发需要关注运行效率,稳定性的核心部分代码,应用层的框架目前支持不多(比如web开发,UI展现)。
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/17044.html