淘先锋技术网

首页 1 2 3 4 5 6 7

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;

rust面向对象详解