mirror of
https://github.com/sunface/rust-by-practice.git
synced 2025-08-12 06:24:44 +00:00
add no. for zh exercises
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# 引用和借用
|
||||
|
||||
### 引用
|
||||
🌟
|
||||
1. 🌟
|
||||
```rust,editable
|
||||
|
||||
fn main() {
|
||||
@@ -13,7 +13,7 @@ fn main() {
|
||||
}
|
||||
```
|
||||
|
||||
🌟
|
||||
2. 🌟
|
||||
```rust,editable
|
||||
|
||||
fn main() {
|
||||
@@ -25,7 +25,7 @@ fn main() {
|
||||
}
|
||||
```
|
||||
|
||||
🌟
|
||||
3. 🌟
|
||||
```rust,editable
|
||||
|
||||
// 修复错误
|
||||
@@ -38,7 +38,7 @@ fn main() {
|
||||
fn borrow_object(s: &String) {}
|
||||
```
|
||||
|
||||
🌟
|
||||
4. 🌟
|
||||
```rust,editable
|
||||
|
||||
// 修复错误
|
||||
@@ -53,7 +53,7 @@ fn push_str(s: &mut String) {
|
||||
}
|
||||
```
|
||||
|
||||
🌟🌟
|
||||
5. 🌟🌟
|
||||
```rust,editable
|
||||
|
||||
fn main() {
|
||||
@@ -69,7 +69,7 @@ fn main() {
|
||||
#### ref
|
||||
`ref` 与 `&` 类似,可以用来获取一个值的引用,但是它们的用法有所不同。
|
||||
|
||||
🌟🌟🌟
|
||||
6. 🌟🌟🌟
|
||||
```rust,editable
|
||||
|
||||
fn main() {
|
||||
@@ -92,7 +92,7 @@ fn get_addr(r: &char) -> String {
|
||||
```
|
||||
|
||||
### 借用规则
|
||||
🌟
|
||||
7. 🌟
|
||||
```rust,editable
|
||||
|
||||
// 移除代码某个部分,让它工作
|
||||
@@ -108,7 +108,7 @@ fn main() {
|
||||
```
|
||||
|
||||
#### 可变性
|
||||
🌟 错误: 从可不用对象借用可用
|
||||
8. 🌟 错误: 从可不用对象借用可用
|
||||
```rust,editable
|
||||
|
||||
fn main() {
|
||||
@@ -121,7 +121,7 @@ fn main() {
|
||||
fn borrow_object(s: &mut String) {}
|
||||
```
|
||||
|
||||
🌟🌟 Ok: 从可变对象借用不可变
|
||||
9. 🌟🌟 Ok: 从可变对象借用不可变
|
||||
```rust,editable
|
||||
|
||||
// 下面的代码没有任何错误
|
||||
@@ -137,7 +137,7 @@ fn borrow_object(s: &String) {}
|
||||
```
|
||||
|
||||
### NLL
|
||||
🌟🌟
|
||||
10. 🌟🌟
|
||||
```rust,editable
|
||||
|
||||
// 注释掉一行代码让它工作
|
||||
@@ -153,7 +153,7 @@ fn main() {
|
||||
}
|
||||
```
|
||||
|
||||
🌟🌟
|
||||
11. 🌟🌟
|
||||
```rust,editable
|
||||
|
||||
fn main() {
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# 所有权
|
||||
|
||||
🌟🌟
|
||||
1. 🌟🌟
|
||||
```rust,editable
|
||||
|
||||
fn main() {
|
||||
@@ -11,7 +11,7 @@ fn main() {
|
||||
}
|
||||
```
|
||||
|
||||
🌟🌟
|
||||
2. 🌟🌟
|
||||
```rust,editable
|
||||
// 不要修改 main 中的代码
|
||||
fn main() {
|
||||
@@ -28,7 +28,7 @@ fn take_ownership(s: String) {
|
||||
```
|
||||
|
||||
|
||||
🌟🌟
|
||||
3. 🌟🌟
|
||||
```rust,editable
|
||||
|
||||
fn main() {
|
||||
@@ -46,7 +46,7 @@ fn give_ownership() -> String {
|
||||
}
|
||||
```
|
||||
|
||||
🌟🌟
|
||||
4. 🌟🌟
|
||||
```rust,editable
|
||||
// 修复错误,不要删除任何代码行
|
||||
fn main() {
|
||||
@@ -62,7 +62,7 @@ fn print_str(s: String) {
|
||||
}
|
||||
```
|
||||
|
||||
🌟🌟
|
||||
5. 🌟🌟
|
||||
```rust, editable
|
||||
// 不要使用 clone,使用 copy 的方式替代
|
||||
fn main() {
|
||||
@@ -75,7 +75,7 @@ fn main() {
|
||||
#### 可变性
|
||||
当所有权转移时,可变性也可以随之改变。
|
||||
|
||||
🌟
|
||||
6. 🌟
|
||||
```rust,editable
|
||||
|
||||
fn main() {
|
||||
@@ -88,7 +88,7 @@ fn main() {
|
||||
}
|
||||
```
|
||||
|
||||
🌟🌟🌟
|
||||
7. 🌟🌟🌟
|
||||
```rust,editable
|
||||
|
||||
fn main() {
|
||||
@@ -140,7 +140,7 @@ fn main() {
|
||||
|
||||
#### 练习
|
||||
|
||||
🌟
|
||||
8. 🌟
|
||||
```rust,editable
|
||||
|
||||
fn main() {
|
||||
@@ -153,7 +153,7 @@ fn main() {
|
||||
}
|
||||
```
|
||||
|
||||
🌟🌟
|
||||
9. 🌟🌟
|
||||
```rust,editable
|
||||
|
||||
fn main() {
|
||||
|
Reference in New Issue
Block a user