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

相关推荐
cdut_suye14 分钟前
C++11新特性探索:Lambda表达式与函数包装器的实用指南
开发语言·数据库·c++·人工智能·python·机器学习·华为
桃园码工21 分钟前
第一章:Go 语言概述 1.什么是 Go 语言? --Go 语言轻松入门
开发语言·后端·golang
努力更新中29 分钟前
Python浪漫之画一个音符♪
开发语言·python
Mr_Xuhhh37 分钟前
程序地址空间
android·java·开发语言·数据库
凤枭香1 小时前
Python Selenium介绍(二)
开发语言·爬虫·python·selenium
疯狂吧小飞牛1 小时前
C语言解析命令行参数
c语言·开发语言
z202305081 小时前
linux之调度管理(13)- wake affine 唤醒特性
java·开发语言
AI人H哥会Java1 小时前
【JAVA】Java高级:Java网络编程——TCP/IP与UDP协议基础
java·开发语言
小白要加油哈1 小时前
Lua--1.基础知识
开发语言·junit·lua
萧萧玉树1 小时前
分布式在线评测系统
前端·c++·后端·负载均衡