rust入门

一,输入输出

cpp 复制代码
println!("Hello, World");

二,函数

1,main函数

cpp 复制代码
fn main() {
	println!("Hello, World");
}

2,普通函数

cpp 复制代码
fn myPrint(){
    println!("{}", 1234);
}
fn main() {
	myPrint();
}

3,库函数

调用库函数,末尾带感叹号

三,变量

1,变量绑定、let、mut

cpp 复制代码
    let x = "what";
    println!("{}",x);

绑定行为类似于引用,所以这里面的x是不可修改的。

错误代码:

cpp 复制代码
    let x = "what";
    x="rrr";

正确代码:

cpp 复制代码
    let mut x = "what";
    x="rrr";

2,变量作用域

cpp 复制代码
fn main() {
	let x=5;
	let x=x+1;
	{
	    let x=x*2;
	    println!("{}",x);
	}
	println!("{}",x);
}

输出:

复制代码
12
6

代码等价于:

cpp 复制代码
fn main() {
	let x=5;
	let x2=x+1;
	{
	    let x3=x2*2;
	    println!("{}",x3);
	}
	println!("{}",x2);
}

也就是说,同一个作用域内,同样的变量名,重复进行绑定,就取代了之前的绑定,

而大括号{}则自成作用域,作用域内可以重新绑定,出了作用域又退回之前的绑定状态。

四,数据结构

1,整数类型

cpp 复制代码
	let x=111_222_3334;
	let y:u16=1123;

整数默认是i32类型,整数中间的下划线可以忽略。

2,浮点数

在 Rust 中浮点类型数字也有两种基本类型: f32f64

cpp 复制代码
	let x=2.5;
	let y:f32=1.23;

浮点数默认是f64类型。

3,基本类型的代数结构

在c++中,基本类型都是有相等关系的。

然而在rust中,浮点数只有std::cmp::PartialEq 特征,没有std::cmp::Eq 特征,Rust 的整数类型、字符串类型、布尔类型都实现了该特征。

所以,哈希表的key类型可以是整数类型、字符串类型、布尔类型,不能是浮点数类型。

4,序列

cpp 复制代码
	for i in 1..=5{	
	    println!("{}",i);
	}

带了等号,所以序列是1,2,3,4,5

去掉等号,序列就是1,2,3,4

5,vector

cpp 复制代码
fn main() {
	let mut nums=vec![1,2,4,3];
	println!("{}",nums.len());
}

五,算法库

1,排序

cpp 复制代码
fn main() {
	let mut nums=vec![1,2,4,3];
	nums.sort();
	println!("{}",nums[3]);
}

vector的默认排序,从小到大排序,输出4

相关推荐
谦行12 分钟前
前端视角 Java Web 入门手册 5.10:真实世界 Web 开发—— 单元测试
java·spring boot·后端
LZQqqqqo27 分钟前
C# 接口(interface 定义接口的关键字)
java·开发语言·c#
寒水馨34 分钟前
Java 9 新特性解析
java·开发语言·新特性·java9·jdk9
SimonKing40 分钟前
甩掉手动赋值!MyBatis-Plus 自动填充实战秘籍
java·后端·程序员
拓端研究室1 小时前
专题:2025医药生物行业趋势与投融资研究报告|附90+份报告PDF、原数据表汇总下载
android·开发语言·kotlin
小鱼人爱编程1 小时前
当上组长一年里,我保住了俩下属
android·前端·后端
xdlka1 小时前
C++初学者4——标准数据类型
开发语言·c++·算法
德育处主任2 小时前
『OpenCV-Python』配合 Matplotlib 显示图像
后端·python·opencv
hrrrrb2 小时前
【Spring Boot 快速入门】一、入门
java·spring boot·后端