前言:摆烂的太久了,想以写文章的方式给自己一点学习的动力,所以定下目标一周至少要写一篇文章,内容不定,不过基本上都是这一周我学到的东西。
目录
该笔记主要是根据学习rust圣经而写的。学rust呢我也不知道以后用不用的上,主要听说这是偏底层的语言,所以希望学着能让我对底层有所理解吧。
部署rust环境并Hello World
要开始rust之旅,那首当其冲的就是要先部署rust环境,然后才是开始我们的 hello, world。
百度搜索 rust官网,进去之后,点击 马上开始 ,之后就会出现这个页面。据自己意愿和操作系统选择版本,我选择的是windows下的64位。
下载完后,双击 rustupinit.exe 程序文件,就会出现这个画面
下面的这三个选项分别是:
- 默认安装
- 自定义安装
- 取消安装
一般默认安装就是安在了 c盘,如果怕c盘炸了,可以选择 2> ,不过我选择的就是1>
安装完后,在 cmd 中输入
rustc -V
显示你的rust版本了,就表示你安装成功。接下来就要去配置你的环境变量
ok,这基本就成功了。
接下来就是要怎么去写代码了,我们直接选择vscode。在扩展中选择第二个安装。
之后选择一个盘,在里面创建一个名叫 rustproject 的文件夹,进入文件夹后进行命令执行,输入
cargo new [name]
ok这样就创建好了 rust文件
进入 src 文件夹中,创建 .rs 文件,并输入
fn main() {
println!("Hello, world!");
}
运行,这样就能就会输出
这样就将开始我们的rust之旅。
基础知识
变量相关规定
-
命名:来学rust的人基本都有其他语言的基础了吧,在命名方面rust和其他语言别无二异, 只能用数字、下划线、字母组成
- 绑定:在rust中给变量赋值的语法是
let a = "Hello, world"
-
可变性:在rust中变量都是默认不可变的,这也是它安全的一方面,它防止你在写代码时, 不小心把变量里的值变了导致程序出错。当然也可以让它可变,只要在定义变量 时用 mut 关键字修饰即可
-
fn main() { let a = "Hello, world"; //a = "123"; 会报错 let mut b = "hello" ; b = "winglet"; //能成功赋值 }
-
下划线开头可忽略未使用变量:在rust中,你只要定义了一个变量,那你在后面必须要使用 到否则会给你一个警告。而如果在前面加一个下划线,则 就表明你要忽略这个变量
-
fn main() { let _a = "1223"; // 不会有警告 let b = "123"; // 会有警告 }
-
解构式赋值:
fn main() { let (a, b, c) = (1, 2, 3); }
也没别的意思,就是在赋值的时候,不是只能赋值基本类型,也可以使用元组、切片、结构式模式进行赋值
-
常量:虽然说没有用 mut 关键字修饰的变量按效果上来说和常量基本一样,但还是有本质 上的差距的,首先常量只能由 const 定义,且它始终不可变
-
变量遮蔽:rust中允许声明变量名相同的变量,且后面的变量会遮蔽前面的
fn main(){ let x = 5; // 在main函数的作用域内对之前的x进行遮蔽 let x = x + 5; { //在当前的花括号作用域内,对之前的x进行遮蔽 let x = x * 2; println!("The value of x in the inner scope is: {}", x); } println!("The value of x is: {}", x); }
理解一下,就是 x = x + 5 ,在声明后就将 x = 5给遮蔽了,所以现在的 x 里的值就是 10,在花括号作用域里呢就对 x = x + 5 进行了遮蔽,所以之后打印的值就是 20,不过这次的遮蔽事件只是发生在这个作用域的,而出了作用域 x 的值还是10 没有变化,所以最后会打印10。
但这功能有什么用呢,可能就是对你变量起名方便吧。