Rust开发学习资源
官网:www.rust-lang.org、crates.io
标准库文档:doc.rust-lang.org/std/index.html
教程:doc.rust-lang.org/book
中文教程:kaisery.github.io/trpl-zh-cn
Playground:play.rust-lang.org
Hyplus目录
1 VSCode配置文件
VSCode中Rust项目自动化测试的配置文件:
launch.json
:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "cppdbg",
"preLaunchTask": "build",
"request": "launch",
"program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "lldb"
}
]
}
tasks.json
:
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "cargo",
"args": [
"build"
]
}
]
}
2 所有权
所有权规则:
- Rust中的每一个值都有一个所有者(owner)。
- 值在任一时刻有且只有一个所有者。
- 当所有者离开作用域,这个值将被丢弃。
引用核心原则:
- 在任意给定时间,要么只能有一个可变引用,要么只能有多个不可变引用。
- 引用必须总是有效的。
切片(slice)是一种引用,不拥有所有权。
3 常用集合
详见官方文档: