一、Rust入门基础
1、为什么要使用Rust?
- 与C++相比
非常安全并避免内存泄漏; - 与java、go相比,无垃圾回收,性能更快;同时上手难度很高。
2、基础语法
1) hello word
fn main() {
println!(”Hello Word!“);
}
2)变量声明
let a = 1;
// 错误语法 a = 2;
let a = "1"; // 正确,代表变量a重新绑定了一个新的值;
// 可变变量
let mut a = 12;
a= 23;
3)数据类型
4) 循环、if语句
a、 if和if let 的区别
- if : 左边可以是变量
- if let: 左边必须是常量
5)所有权
所有权有以下三条规则:
- Rust 中的每个值都有一个变量,称为其所有者。
- 一次只能有一个所有者。
- 当所有者不在程序运行范围时,该值将被删除。
6) 函数
fn say_hello(name: &String) -> i32 {
prinyln("{},hello!",name);
return 5;
}
7) 结构体与元组
8)项目组织(Cargo:Cargo为什么比maven优秀呢?)
package
=> crate(多个)
=> 1、 lib crate(一个) 2、 bin crare(多个)
=> mode(多个)
9)异常处理
a 不可恢复异常
b 可恢复
10) 面向对象
虽然严格来说,Rust并不是一门面向对象的编程语言,但是通过struct+impl+trait关键字组合,能够模拟出强大的面向对象能力。
- struct: 类似 java中的class属性;
struct Student{
id: i32,
name: String
}
fn main(){
let student = Student{
id : 32,
name: String::from("张三")
};
}
- impl: 类似java dto中的构造方法、getter、setter等类内部的方法;
impl Student {
pub fn new(id: i32 ,name: String) -> Self {
Self{
id,
name
}
}
}
Sefl概述:Self概述
- trait: 类似java中的接口 interface;