diff --git a/src/SUMMARY.md b/src/SUMMARY.md index aa845d73..c7579787 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -20,7 +20,7 @@ - [下载依赖太慢了?](first-try/slowly-downloading.md) - [避免从入门到放弃](first-try/sth-you-should-not-do.md) -# Rust语言特性 +# Rust语言学习 --- - [Rust 基础入门](basic/intro.md) - [变量绑定与解构](basic/variable.md) @@ -103,14 +103,6 @@ - - [易混淆概念解析](advance/confonding/intro.md) - - [切片和切片引用](advance/confonding/slice.md) - - [Eq 和 PartialEq](advance/confonding/eq.md) - - [String、&str 和 str todo](advance/confonding/string.md) - - [裸指针、引用和智能指针 todo](advance/confonding/pointer.md) - - [作用域、生命周期和 NLL todo](advance/confonding/lifetime.md) - - [move、Copy 和 Clone todo](advance/confonding/move-copy.md) - - [Rust 异步编程](async-rust/intro.md) - [async/await 异步编程](async-rust/async/intro.md) - [async 编程入门](async-rust/async/getting-started.md) @@ -133,7 +125,18 @@ - [类似迭代器的 Stream](async-rust/tokio/stream.md)) - [优雅的关闭](async-rust/tokio/graceful-shutdown.md) - [异步跟同步共存](async-rust/tokio/bridging-with-sync.md) - + + +- [Rust 难点攻关](difficulties/intro.md) + - [切片和切片引用](difficulties/slice.md) + - [Eq 和 PartialEq](difficulties/eq.md) + - [String、&str 和 str TODO](difficulties/string.md) + - [作用域、生命周期和 NLL TODO](difficulties/lifetime.md) + - [move、Copy 和 Clone TODO](difficulties/move-copy.md) + - [裸指针、引用和智能指针 TODO](advance/difficulties/pointer.md) + + + # 常用工具链 --- - [自动化测试](test/intro.md) diff --git a/src/advance/confonding/intro.md b/src/advance/confonding/intro.md deleted file mode 100644 index ce80dc3e..00000000 --- a/src/advance/confonding/intro.md +++ /dev/null @@ -1,5 +0,0 @@ -# 易混淆概念解析 - -Rust 之所以难,有部分原因在于一些概念对于刚入门的同学来说不仅难以理解,还容易混淆。 - -对于难以理解这一点,我们在之前的章节已经讲解的差不多。本章就来看看,那些容易混淆的概念该如何进行区分,例如 `String`、`str` 和 `&str`。 diff --git a/src/advance/confonding/pointer.md b/src/advance/confonding/pointer.md deleted file mode 100644 index e07a9fcb..00000000 --- a/src/advance/confonding/pointer.md +++ /dev/null @@ -1 +0,0 @@ -# 裸指针、引用和智能指针 todo diff --git a/src/advance/difficulties/pointer.md b/src/advance/difficulties/pointer.md new file mode 100644 index 00000000..143b2ad6 --- /dev/null +++ b/src/advance/difficulties/pointer.md @@ -0,0 +1 @@ +# 裸指针、引用和智能指针 TODO diff --git a/src/advance/confonding/cow.md b/src/difficulties/cow.md similarity index 100% rename from src/advance/confonding/cow.md rename to src/difficulties/cow.md diff --git a/src/advance/confonding/eq.md b/src/difficulties/eq.md similarity index 100% rename from src/advance/confonding/eq.md rename to src/difficulties/eq.md diff --git a/src/difficulties/intro.md b/src/difficulties/intro.md new file mode 100644 index 00000000..8917bf4a --- /dev/null +++ b/src/difficulties/intro.md @@ -0,0 +1,14 @@ +# Rust 难点攻关 + +当大家一路看到这里时,我敢说 90% 的人还是云里雾里的,例如你能说清楚: + +- 切片和切片引用的区别吗? +- 各种字符串之间的区别吗? +- 各种指针、引用的区别吗? +- 所有权转移、拷贝、克隆的区别吗? + +以及到底该用它们之中哪一个吗? + +如果不行,就跟随我一起来看看吧,本章的目标就是帮大家彻底理清这些概念,为后面的进一步学习和实战打好坚实的基础。 + + diff --git a/src/advance/confonding/lifetime.md b/src/difficulties/lifetime.md similarity index 100% rename from src/advance/confonding/lifetime.md rename to src/difficulties/lifetime.md diff --git a/src/advance/confonding/move-copy.md b/src/difficulties/move-copy.md similarity index 100% rename from src/advance/confonding/move-copy.md rename to src/difficulties/move-copy.md diff --git a/src/difficulties/pointer.md b/src/difficulties/pointer.md new file mode 100644 index 00000000..4ee9b9ab --- /dev/null +++ b/src/difficulties/pointer.md @@ -0,0 +1,3 @@ +# 裸指针、引用和智能指针 todo + +https://blog.csdn.net/kk3909/article/details/106743025 \ No newline at end of file diff --git a/src/advance/confonding/slice.md b/src/difficulties/slice.md similarity index 100% rename from src/advance/confonding/slice.md rename to src/difficulties/slice.md diff --git a/src/advance/confonding/string.md b/src/difficulties/string.md similarity index 100% rename from src/advance/confonding/string.md rename to src/difficulties/string.md