Rust学习笔记 (一)

本文介绍了如何部署Rust编程环境,从官网下载到安装,以及验证安装成功的步骤。接着,作者通过在VSCode中创建项目并编写‘Hello,World!’程序,启动Rust学习之旅。文章还探讨了Rust语言的基础知识,包括变量的命名规则、可变性、常量、解构赋值等概念。
摘要由CSDN通过智能技术生成

前言:摆烂的太久了,想以写文章的方式给自己一点学习的动力,所以定下目标一周至少要写一篇文章,内容不定,不过基本上都是这一周我学到的东西。

目录

部署rust环境并Hello World

基础知识

变量相关规定

该笔记主要是根据学习rust圣经而写的。学rust呢我也不知道以后用不用的上,主要听说这是偏底层的语言,所以希望学着能让我对底层有所理解吧。

部署rust环境并Hello World

        要开始rust之旅,那首当其冲的就是要先部署rust环境,然后才是开始我们的 hello, world

百度搜索 rust官网,进去之后,点击 马上开始 ,之后就会出现这个页面。据自己意愿和操作系统选择版本,我选择的是windows下的64位。

 下载完后,双击 rustupinit.exe 程序文件,就会出现这个画面

 下面的这三个选项分别是:

  1. 默认安装
  2. 自定义安装
  3. 取消安装

一般默认安装就是安在了 c盘,如果怕c盘炸了,可以选择 2> ,不过我选择的就是1>

安装完后,在 cmd 中输入

rustc -V

 显示你的rust版本了,就表示你安装成功。接下来就要去配置你的环境变量

 ok,这基本就成功了。

        接下来就是要怎么去写代码了,我们直接选择vscode。在扩展中选择第二个安装。

 之后选择一个盘,在里面创建一个名叫 rustproject 的文件夹,进入文件夹后进行命令执行,输入

cargo new [name]

 

 ok这样就创建好了 rust文件

 进入 src 文件夹中,创建 .rs 文件,并输入

fn main() {
      println!("Hello, world!");
}

运行,这样就能就会输出

 

 这样就将开始我们的rust之旅。

基础知识

变量相关规定

  1. 命名:来学rust的人基本都有其他语言的基础了吧,在命名方面rust和其他语言别无二异,               只能用数字、下划线、字母组成

  2. 绑定:在rust中给变量赋值的语法是
    let a = "Hello, world"
  3. 可变性:在rust中变量都是默认不可变的,这也是它安全的一方面,它防止你在写代码时,                 不小心把变量里的值变了导致程序出错。当然也可以让它可变,只要在定义变量                     时用 mut 关键字修饰即可

  4. fn main() {
        let a = "Hello, world";
    
        //a = "123";  会报错 
        let mut b = "hello" ;
        b = "winglet";  //能成功赋值 
    }
  5. 下划线开头可忽略未使用变量:在rust中,你只要定义了一个变量,那你在后面必须要使用                                                    到否则会给你一个警告。而如果在前面加一个下划线,则                                                        就表明你要忽略这个变量

  6. fn main() {
        let _a = "1223";  // 不会有警告
        let b = "123";   // 会有警告
    }
  7. 解构式赋值:

    fn main() {
        let (a, b, c) = (1, 2, 3);
    }

      也没别的意思,就是在赋值的时候,不是只能赋值基本类型,也可以使用元组、切片、结构式模式进行赋值

  8. 常量:虽然说没有用 mut 关键字修饰的变量按效果上来说和常量基本一样,但还是有本质               上的差距的,首先常量只能由 const 定义,且它始终不可变

  9. 变量遮蔽: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

     但这功能有什么用呢,可能就是对你变量起名方便吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值