【Rust学习】Rust环境搭建和Rust基础语法

06-01 1495阅读

本文专栏:Rust学习

目录

一,Rust环境搭建

1,C++环境安装

2,Rust下载

3,Rust安装 

4,Rust环境检测

二,创建Rust项目 

1,rustc

 2,cargo

三,输出到命令行 

四,Rust基础语法—变量与可变性

1,变量

2,常量与不可变变量的区别

3,隐藏(Shadowing)


一,Rust环境搭建

本博客只将在windows上的开发环境的搭建。

1,C++环境安装

Rust依赖于C++编译环境,安装Rust之前,需要安装visual studio。

链接:Visual Studio 2022 IDE - 适用于软件开发人员的编程工具

2,Rust下载

链接:Rust 程序设计语言https://www.rust-lang.org/zh-CN

【Rust学习】Rust环境搭建和Rust基础语法

点击"马上开始"

【Rust学习】Rust环境搭建和Rust基础语法

3,Rust安装 

下载之后,双击打开,如下图:

【Rust学习】Rust环境搭建和Rust基础语法

输入1,按回车,等待安装即可。

rustup-init.exe 是 Rust 的安装和管理工具,默认情况下,它会同时安装这些工具:rustc,rust-std,cargo,rust-docs,rustfmt,clippy。其中,rustc 是 Rust 的编译工具,cargo 是 Rust 的包管理工具。

【Rust学习】Rust环境搭建和Rust基础语法

安装结束:

 【Rust学习】Rust环境搭建和Rust基础语法

4,Rust环境检测

 查看Rust版本

rustc --version

rustc -V

 查看cargo版本

cargo --version

cargo -V

Rust更新

rustup update 

二,创建Rust项目 

1,rustc

rustc只适合于一些小项目,在大项目中需要用到cargo

Rust代码使用.rs后缀,使用vscode 写代码

【Rust学习】Rust环境搭建和Rust基础语法

右键文件名,打开终端

【Rust学习】Rust环境搭建和Rust基础语法

编译代码,使用rustc命令编译

rustc helloword.rs 

【Rust学习】Rust环境搭建和Rust基础语法

 2,cargo

cargo是rust的包管理器和构建系统,创建项目命令如下:

cargo new 项目名

【Rust学习】Rust环境搭建和Rust基础语法

【Rust学习】Rust环境搭建和Rust基础语法

 项目名是hello_cargo,也会创建一个目录hello_cargo

编译

cargo build

运行

cargo run

【Rust学习】Rust环境搭建和Rust基础语法

在命令行中用cargo build进行编译,编译后会生成一个target文件夹,其中debug文件中有可执行程序hello_cargo.exe 

三,输出到命令行 

Rust输出到命令行的方式有两种,print!和println!,后者在输出的时候会加上一个换行符。

这两个函数时宏定义!!!

使用这两个函数打印信息的时候,第一个参数是格式字符串,后面一串是可变参数,在C语言printf中"%+字母"表示占位符,而在Rust中,使用'{ }'

fn main() { 

    let a = 12; 

    println!("a is {}", a); 

}

运行结果是:

a is 12  

在 {} 之间可以放一个数字,它将把之后的可变参数当作一个数组来访问,下标从 0 开始。 

println!("a is {0}, a again is {0}", a); 

 如果想要输出{ 或者 }时,可以通过{{ 和 }} 分别转义代表{ 和 }

四,Rust基础语法—变量与可变性

1,变量

声明变量使用let关键字

默认情况下,变量是不可变的(Immutable)

示例:

fn main() {

    println!("Hello, world!");

    let a=10;

    println!("a is {}",a);

}

a是不可变变量 

【Rust学习】Rust环境搭建和Rust基础语法

如果要修改变量a,就会报错

fn main() {

    println!("Hello, world!");

    let a=10;

    println!("a is {}",a);

    a=20;

}

【Rust学习】Rust环境搭建和Rust基础语法

不可以对不可变的变量两次赋值。

如果想要修改变量a的值,需要将a的属性设为可变变量。

声明变量时,在变量前加上mut,就可以使变量可变。

fn main() {

    println!("Hello, world!");

    let mut a=10;

    println!("a is {}",a);

    a=20;

    println!("a is {}",a)

}

2,常量与不可变变量的区别

常量(constant):常量在绑定值以后也是不可变的。

它与不可变变量的区别:

  • 不可以使用 mut修饰,常量永远是不可变的
  • 常量声明需要使用const关键字,同时它的类型必须被标记
  • 常量只可以绑定 到常量表达式,无法绑定到函数的调用结果或只能在运行时才能计算出的值

    常量定义 

    const a: i32=123  //类型为i32(32位有符号整数)

    虽然 Rust 有自动判断类型的功能,在声明变量的时候,也可以指明类型

    let a: u64=123  

     这声明a的类型为u64(64位无符号整数),如果不声明,a 将自动被判断为有符号 32 位整型变量

    3,隐藏(Shadowing)

     可以使用相同名字声明新的变量,新的变量就会隐藏(shadow)之前的同名变量。

    fn main()

    {

        let x=5;

        //隐藏

        let x=x+1;

        println!("x is {}",x);

    }

    【Rust学习】Rust环境搭建和Rust基础语法

    还有,声明的新变量,可以与之前的变量类型不同

    fn main()

    {

        let str="hello world";

        println!("str is {}",str);

        let str=5;

        println!("str is {}",str);

    }

    【Rust学习】Rust环境搭建和Rust基础语法

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码