波斯马BOSSMA Information Technology

Rust变量的可变性

发布时间:2021年1月13日 / 分类:Rust / 5,380 次浏览 / 评论

Rust变量默认赋值后是不可以更改的,这样做比较安全,也更方便并行处理。当在程序中某个地方定义了一个变量并使用,又在程序中其它地方某些时候修改了这个变量的值,之前使用这个变量的地方就可能会产生问题。这种问题在运行时发生,很难追踪和测试。

设置变量的值

比如下边这样写,编译的时候就会报错。

let x = 5;
x = 6;

为了让变量可以被修改,可以通过关键字mut来实现。

let mut x = 5;
x = 6;

与常量之间的区别

常量的值是硬编码的,不可在运行时改变。

const MAX_POINTS: u32 = 100_000;

常量使用const赋值,且不能用mut修饰。

覆盖( Shadowing )

可以多次对同一个变量使用let关键字(包括mut修饰的变量):

let x = 5;
let x = x + 1;
let x = x * 2;

这种方法不需要使用mut关键字,实际上是创建了一个新变量,而且可以更改变量的数据类型:

let spaces = " ";
let spaces = 1;

注意使用let mut定义的变量,不可通过赋值更改数据类型:

let mut spaces = " ";
spaces = 1;

上边的代码编译会报错。

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自波斯马,原文地址《Rust变量的可变性

关键字:

建议订阅本站,及时阅读最新文章!
【上一篇】 【下一篇】

发表评论