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

发布于:2025-04-06 ⋅ 阅读:(59) ⋅ 点赞:(0)

本文专栏: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

点击"马上开始"

3,Rust安装 

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

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

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

安装结束:

 

4,Rust环境检测

 查看Rust版本

rustc --version

rustc -V

 查看cargo版本

cargo --version

cargo -V

Rust更新

rustup update 

二,创建Rust项目 

1,rustc

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

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

右键文件名,打开终端

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

rustc helloword.rs 

 2,cargo

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

cargo new 项目名

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

编译

cargo build

运行

cargo run

在命令行中用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是不可变变量 

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

fn main() {

    println!("Hello, world!");

    let a=10;

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

    a=20;

}

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

如果想要修改变量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);

}

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

fn main()

{

    let str="hello world";

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

    let str=5;

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

}


网站公告

今日签到

点亮在社区的每一天
去签到