rustdesk 服务器部署 rust服务器main
Rust语言特点
- 高性能:有媲美C/C++的性能。
- 可靠性:内存安全
- 效率高:提供包理工具,友好的编译器。
Rust应用场景
- 命令行程序
- Web应用
- 网络服务器
- 嵌入式设备
Rust环境搭建
链接:https://www.runoob.com/rust/rust-setup.html
Rust包管理工具-cargo
- 创建新项目:cargo new greeting
- 构建:cargo build
- 运行:cargo run
Rust常用语法
- 输出:print!(), println!(), {}作为占位符
- 不可变变量:let a=12;
- 可变变量:let mut a=12;
- 常量:const a=12;
- 函数:
- 格式:fn <函数名> (<参数>) {<函数体>}
- 定义函数如果需要具备参数必须声明参数名称和类型
Rust数据类型
- 浮点型数据:f32/f64
- 布尔型数据:true/false
- 字符型数据:char
- 元组
Rust内存管理
- Rust 区别与其他高级语言的重要特征,在于其内存管理的两个特点:
- 变量超出作用域会自动释放。对于简单值类型的栈内存(如int,struct)超出作用域后自动释放,这个逻辑在各个语言都有实现。而对于 new 出来的堆内存,在c/c++中是要手动释放的,在java和dotnet中要委托垃圾回收释放或手动写 dispose 语句释放。而垃圾回收不是实时的,会影响性能。而释放语句总会有懒人忘记写的。而 Rust 对栈内存和堆内存一视同仁,超出作用域一律自动释放。Rust 的这个特点在兼顾性能的情况下、有效的减少了代码量和内存泄漏隐患。
- “所有权” :某段内存只能被最后的变量名所有,前面声明过的变量都作废,这有效的避免被多个变量释放的问题,而且该操作是在编译期就可以检查到的,这策略可在编译期就能有效的避免空指针问题。
链接:https://www.runoob.com/rust/rust-ownership.html
Rust结构体
struct Site { domain: String, name: String, nation: String, found: u32 }
Rust集合和字符串
- 向量:Vector
- 字符串:String
- Map