rust 变量


xuke
xuke 2024-04-17 14:50:05 47883 赞同 0 反对 0
分类: 资源 标签: 运维
变量与可变变量教程...
变量
是否可变与mut有关
例如
fn main() { let x=5;//不可变变量 println!("x={}",x); x=6;//错误不允许改变 println!("x={}",x); }
错误信息
error[E0384]: cannot assign twice to immutable variable `x` --> src/main.rs:4:5 | 2 | let x=5; | - | | | first assignment to `x` | help: consider making this binding mutable: `mut x` 3 | println!("x={}",x); 4 | x=6; | ^^^ cannot assign twice to immutable variable For more information about this error, try `rustc --explain E0384`. error: could not compile `variables` due to previous error
修改代码在变量名前添加mut使其变为可变变量
fn main() { let mut x=5; println!("x={}",x); x=6; println!("x={}",x); }
执行成功
x=5 x=6
常量
常量 (constants) 是绑定到一个名称的不允许改变的值。
首先,不允许对常量使用 mut。常量不光默认不可变,它总是不可变。声明常量使用 const 关键字而不是 let,并且 必须 注明值的类型。
常量可以在任何作用域中声明,包括全局作用域
常量只能被设置为常量表达式,而不可以是其他任何只能在运行时计算出的值。
例如
const THREE_HOURS_IN_SECONDS: u32 = 60 * 60 * 3;
隐藏
可以定义一个与之前变量同名的新变量
可以用相同变量名称来隐藏一个变量,以及重复使用 let 关键字来多次隐藏,如下所示:
fn main() { let x=5; let x=x+1; { let x=x*x; println!("x={}",x); } println!("x={}",x); } 结果 x=36 x=6
隐藏与将变量标记为 mut 是有区别的。当不小心尝试对变量重新赋值时,如果没有使用 let 关键字,就会导致编译时错误。我们可以用这个值进行一些计算,不过计算完之后变量仍然是不可变的。
mut 与隐藏的另一个区别是,当再次使用 let 时,实际上创建了一个新变量,我们可以改变值的类型,并且复用这个名字。
let spaces = " "; let spaces = spaces.len();//改变数据类型
如果尝试使用 mut,将会得到一个编译时错误,如下所示:
let mut spaces = " "; spaces = spaces.len();

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
xukeL0
粉丝 1 资源 0 + 关注 私信
最近热门资源
桌面通用(全架构)【在双系统环境下隐藏Windows启动菜单】操作指南  2057
银河麒麟桌面操作系统V10(SP1)2203-如何进行远程桌面互访?  1994
银河麒麟桌面操作系统【保留数据盘重装系统】  1804
麒麟系统各种原因开不了机解决(合集)  1587
桌面通用(全架构)【rpm包转成deb包】操作方法  931
银河麒麟桌面操作系统 V10-SP1 双系统安装 efi 分区问题  915
统信系统安装(合集)  853
统信桌面专业版【手动分区安装UOS系统】介绍  845
统启动异常几种类型(initramfs 模式)  688
最近下载排行榜
桌面通用(全架构)【在双系统环境下隐藏Windows启动菜单】操作指南 0
银河麒麟桌面操作系统V10(SP1)2203-如何进行远程桌面互访? 0
银河麒麟桌面操作系统【保留数据盘重装系统】 0
麒麟系统各种原因开不了机解决(合集) 0
桌面通用(全架构)【rpm包转成deb包】操作方法 0
银河麒麟桌面操作系统 V10-SP1 双系统安装 efi 分区问题 0
统信系统安装(合集) 0
统信桌面专业版【手动分区安装UOS系统】介绍 0
统启动异常几种类型(initramfs 模式) 0
作者收入月榜
1

prtyaa 收益393.72元

2

zlj141319 收益220.97元

3

1843880570 收益214.2元

4

IT-feng 收益213.03元

5

风晓 收益208.24元

6

777 收益172.82元

7

Fhawking 收益106.6元

8

信创来了 收益105.89元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.5元

请使用微信扫码

加入交流群

请使用微信扫一扫!