Rust语言入门-变量篇

1、Rust变量,赋值之后,如果要修改变量的值,需要加关键字mut(mutable)可变的修饰。

rust 复制代码
let mut x = 5;
println!("The value of x is: {}", x);
x = 6;
println!("The value of x is: {}", x);

不过,还有一种办法,就是变量还是这个名字,但是修改之前,前面加上let关键字。

不加let的时候,编译报错,不能赋新值给一个不可变的变量。

加上let,错误消失。

Rust变量就是这么神奇。

2、打印变量值的时候,可以用占位符{},也可以把变量直接写进占位符里面{x}。

复制代码
let x = 5;
println!("The value of x is: {}", x);
let x = 6;
println!("The value of x is: {x}");

3、变量的类型可以随意切换,但是还是需要前面加let,否则编译不通过。

4、函数采用类似lambda表达式来书写的时候,返回值的语句,可以不用添加分号;。

复制代码
fn plus_one(x: i32) -> i32 {
    x+1
}

另外,在块内{}进行赋值的时候,也不需要加分号;。

复制代码
let y = {
    let x = 3;
    x + 1
};

使用let来修饰变量,有点像javascript语法,变量类型自动判断,有点像python语法,但是语句结尾需要使用分号,返回值语句除外。

相关推荐
陈随易2 小时前
编程语言级别的Skill市场,AI Agent 的未来形态
前端·后端·程序员
IT_陈寒5 小时前
Vite的热更新突然不香了,排查三小时差点砸键盘
前端·人工智能·后端
子兮曰5 小时前
Agency-Agents 深度解析:400+ AI 专家的"梦之队"如何重塑开发工作流
前端·后端·vibecoding
用户8356290780516 小时前
Python 实现 PDF 文件加密与解密方法
后端·python
小满zs6 小时前
Go语言第二章(小无相功)
后端·go
用户8356290780516 小时前
使用 Python 冻结与拆分 Excel 窗格教程
后端·python
karry_k6 小时前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
妙码生花6 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十九):点选验证码代码逐行目检
前端·后端·go
贰先生6 小时前
Xiuno BBS X版 用户封禁系统
后端
karry_k6 小时前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端