- Rust是一门静态语言类型
变量
变量的可变性与不可变性
变量的不可变性
Rust中的变量默认是不可变的,当一个变量是不可变时,一旦它与某个值绑定,这个值再也无法被改变。
fn main() {
let x = 5;
println!("x is {}",x);
x = 6;
println!("x is {}",x);
}
通过 cargo run
运行此段程序,将会看到如下错误提示:
cannot assign twice to immutable variable `x` 指明不能对不可变量进行二次赋值。
变量的可变性
若想声明一个变量是可变的,可以通过在声明的变量名称前添加mut
使其可变。
fn main() {
let mut x = 5;
println!("x is {}",x);
x = 6;
println!("x is {}",x);
}
通过 cargo run
运行此段程序,输出结果:
正是因为 mut
出现在了变量绑定过程中,所以才可以合法地将 x 绑定的值从5修改为6。
小注
在使用某些重型数据结构时,适当使用可变性去修改一个实例,可能比赋值和重新返回一个新分配的实例更有效率;而当数据结构较为轻量的时候,采用更偏向函数式的风格,通过创建新变量来进行赋值,可能使代码更加易于理解。类似情形下,为了可读性而损失少许性能也许是值得的。
常量
首先,不能用mut
关键字来修饰一个常量。常量不仅是默认不可变的,它还总是不可变的。
其次,需要使用 const
关键字来声明常量。声明常量的同时,必须显式地标注值的类型。
再次,常量可以被声明在任何作用域中,包括全局作用域。常量在整个程序运行的过程中都在自己声明的作用域内有效,常常作为被程序的不同代码间的共享值。
最后,常量只能绑定到一个常量表达式上,无法将一个函数返回值或者其他需要在运行时计算的值绑定到常量上去。
在Rust中,约定俗成地使用画线分隔的全大写字母来命名一个常量,并在数值中插入画线提高可读性。
const MAX_POINTS: u32 = 100_000;
感谢您的访问,Ctrl+D收藏本站吧。
© 版权声明
THE END
暂无评论内容