├── .github
└── workflows
│ └── ci.yaml
├── .gitignore
├── .pre-commit-config.yaml
├── Cargo.toml
├── LICENSE
├── Makefile
├── README.md
└── src
└── main.rs
/.github/workflows/ci.yaml:
--------------------------------------------------------------------------------
1 | name: CI
2 |
3 | on:
4 | workflow_dispatch:
5 | push:
6 | paths-ignore:
7 | - '**.md'
8 | branches-ignore:
9 | - jupyter
10 | pull_request:
11 | paths-ignore:
12 | - '**.md'
13 | branches-ignore:
14 | - jupyter
15 |
16 | env:
17 | RUST_TOOLCHAIN: stable
18 | TOOLCHAIN_PROFILE: minimal
19 |
20 | jobs:
21 | lints:
22 | name: Run cargo fmt and cargo clippy
23 | runs-on: ubuntu-latest
24 | steps:
25 | - name: Checkout sources
26 | uses: actions/checkout@v2
27 | - name: Install toolchain
28 | uses: actions-rs/toolchain@v1
29 | with:
30 | profile: ${{ env.TOOLCHAIN_PROFILE }}
31 | toolchain: ${{ env.RUST_TOOLCHAIN }}
32 | override: true
33 | components: rustfmt, clippy
34 | - name: Cache
35 | uses: Swatinem/rust-cache@v1
36 | - name: Run cargo fmt
37 | uses: actions-rs/cargo@v1
38 | with:
39 | command: fmt
40 | args: --all -- --check
41 | - name: Run cargo clippy
42 | uses: actions-rs/cargo@v1
43 | with:
44 | command: clippy
45 | args: -- -D warnings
46 | test:
47 | name: Run cargo test
48 | runs-on: ubuntu-latest
49 | steps:
50 | - name: Checkout sources
51 | uses: actions/checkout@v2
52 | - name: Install toolchain
53 | uses: actions-rs/toolchain@v1
54 | with:
55 | profile: ${{ env.TOOLCHAIN_PROFILE }}
56 | toolchain: ${{ env.RUST_TOOLCHAIN }}
57 | override: true
58 | - name: Cache
59 | uses: Swatinem/rust-cache@v1
60 | # - name: Run cargo test --no-run
61 | # uses: actions-rs/cargo@v1
62 | # with:
63 | # command: test --no-run
64 | - name: Run cargo test
65 | uses: actions-rs/cargo@v1
66 | env:
67 | RUST_TEST_THREADS: 8
68 | with:
69 | command: test
70 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ### Example user template template
2 | ### Example user template
3 |
4 | # IntelliJ project files
5 | .idea
6 | *.iml
7 | out
8 | gen
9 | ### Rust template
10 | # Generated by Cargo
11 | # will have compiled files and executables
12 | debug/
13 | target/
14 |
15 | # Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
16 | # More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
17 | Cargo.lock
18 |
19 | # These are backup files generated by rustfmt
20 | **/*.rs.bk
21 |
22 | !/*/Cargo.lock
23 |
--------------------------------------------------------------------------------
/.pre-commit-config.yaml:
--------------------------------------------------------------------------------
1 | repos:
2 | - repo: https://github.com/pre-commit/pre-commit-hooks
3 | rev: v4.0.1
4 | hooks:
5 | - id: check-merge-conflict
6 | - id: check-toml
7 | - id: check-yaml
8 | - id: end-of-file-fixer
9 | - id: trailing-whitespace
10 | args: [ --markdown-linebreak-ext=md ]
11 |
12 | - repo: local
13 | hooks:
14 | - id: make-fmt
15 | name: make fmt
16 | entry: make fmt
17 | language: system
18 |
--------------------------------------------------------------------------------
/Cargo.toml:
--------------------------------------------------------------------------------
1 | [package]
2 | name = "rust-learn"
3 | version = "0.1.0"
4 | edition = "2018"
5 | license-file = "LICENSE"
6 | description = "learning rust"
7 | homepage = "https://jasonkayzk.github.io/"
8 | readme = "README.md"
9 | repository = "https://github.com/JasonkayZK/rust-learn/"
10 | authors = ["Jasonkay jasonkayzk@gmail.com"]
11 |
12 | [dependencies]
13 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 Jasonkay
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | .PHONY: fmt clippy clean build pack all ci
2 |
3 | all: clean fmt clippy pack
4 |
5 | ci: fmt clippy
6 |
7 | fmt:
8 | cargo fmt --all --
9 |
10 | clippy:
11 | cargo clippy -- -D warnings
12 |
13 | clean:
14 | rm -rf ./target
15 |
16 | build:
17 | cargo build
18 |
19 | pack:
20 | cargo build --release
21 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # **Rust Learn**
2 |
3 |
4 |
5 |
6 |
7 | A repo to learn rust.
8 |
9 | This main branch is a standard template for new rust project!
10 |
11 |
12 |
13 | ## **Learning Resource**
14 |
15 | Learn Rust with:
16 |
17 | - [《Rust 程序设计语言(第二版) 简体中文版》](https://www.bookstack.cn/books/trpl-zh-cn)
18 | - [《Rust语言圣经(Rust Course)》](https://course.rs/about-book.html)
19 | - [《rust-by-example》](https://doc.rust-lang.org/stable/rust-by-example/)
20 | - [《too-many-lists》](https://rust-unofficial.github.io/too-many-lists/)
21 | - [《Rusty Book》](https://rusty.rs/about.html)
22 | - [《Rust 秘典(死灵书)》](https://nomicon.purewhite.io/intro.html)
23 | - [《The Little Book of Rust Macros (Rust 宏小册)》](https://zjp-cn.github.io/tlborm/introduction.html)
24 |
25 |
26 | Exercises:
27 |
28 | - [rustlings](https://github.com/rust-lang/rustlings)
29 | - [《Rust语言实战》](https://zh.practice.rs/why-exercise.html)
30 |
31 |
32 | Gitbook Url:
33 |
34 | - https://www.gitbook.com/book/kaisery/trpl-zh-cn/details
35 |
36 |
37 |
38 | ## **Jupyter**
39 |
40 | **The Jupyter branch is shown below (Which helps you run Rust as script!):**
41 |
42 | - https://github.com/JasonkayZK/rust-learn/tree/jupyter
43 |
44 | Which depend on jupyter kernel:
45 |
46 | - https://github.com/google/evcxr/tree/main/evcxr_jupyter
47 |
48 |
49 |
50 | ## **Create Project**
51 |
52 | Use Cargo to create a project:
53 |
54 | ```bash
55 | cargo new hello_rust --bin
56 | ```
57 |
58 | build:
59 |
60 | ```bash
61 | cd hello_rust && cargo build --release
62 | ```
63 |
64 | run:
65 |
66 | ```bash
67 | ./target/release/hello_rust
68 | Hello, world!
69 | ```
70 |
71 | > Or just run program with:
72 | >
73 | > ```bash
74 | > cargo run
75 | > ```
76 |
77 |
78 |
79 | ## **Now Finished**
80 |
81 | | Project | Date | Note | Linked Blog |
82 | | ------------------------------------------------------------ | :---------------------------------------- | :----------------------------------------------------------- | :----------------------------------------------------------- |
83 | | [chapter2-guessing-game](https://github.com/JasonkayZK/rust-learn/tree/chapter2-guessing-game) | 2021-06-01 | A guessing game | |
84 | | [chapter3-variables](https://github.com/JasonkayZK/rust-learn/tree/chapter3-variables) | 2021-06-02 | Variable & Type | |
85 | | [multiple-main-demo](https://github.com/JasonkayZK/rust-learn/tree/multiple-main-demo) | 2021-06-02 | A demo to show how to run multiple main | |
86 | | [chapter4-function](https://github.com/JasonkayZK/rust-learn/tree/chapter4-function) | 2021-06-02 | Function | |
87 | | [chapter5-control-flow](https://github.com/JasonkayZK/rust-learn/tree/chapter5-control-flow) | 2021-06-02 | Control flow(if/loop/while/for) | |
88 | | [chapter6-ownership](https://github.com/JasonkayZK/rust-learn/tree/chapter6-ownership) | 2021-06-03 | Ownership(also string/slice) | |
89 | | [chapter7-struct](https://github.com/JasonkayZK/rust-learn/tree/chapter7-struct) | 2021-06-04 | Struct | |
90 | | [chapter8-enum-and-match](https://github.com/JasonkayZK/rust-learn/tree/chapter8-enum-and-match) | 2021-06-07 | Enum & Match | |
91 | | [chapter9-modules](https://github.com/JasonkayZK/rust-learn/tree/chapter9-modules) | 2021-06-07 | Modules(mod/pub/use/super) | |
92 | | [chapter10-collections](https://github.com/JasonkayZK/rust-learn/tree/chapter10-collections) | 2021-06-09 | Vector & String & Map | |
93 | | [chapter11-error-handling](https://github.com/JasonkayZK/rust-learn/tree/chapter11-error-handling) | 2021-06-09 | Error handling (Panic! & Result) | |
94 | | [chapter12-generic-trait-lifetime](https://github.com/JasonkayZK/rust-learn/tree/chapter12-generic-trait-lifetime) | 2021-06-10 | Generic & Trait & Lifetime | |
95 | | [chapter13-testing](https://github.com/JasonkayZK/rust-learn/tree/chapter13-testing) | 2021-06-12 | Testing(Write, Run & Organize) | |
96 | | [chapter14-io-project-grep](https://github.com/JasonkayZK/rust-learn/tree/chapter14-io-project-grep) | 2021-06-13 | A io project: `mini-grep` written in rust. | |
97 | | [chapter15-functional-features](https://github.com/JasonkayZK/rust-learn/tree/chapter15-functional-features) | 2021-06-14 | Functional features(Closure & Iterator) in rust. | |
98 | | [chapter16-cargo](https://github.com/JasonkayZK/rust-learn/tree/chapter16-cargo) | 2021-06-15 | Cargo(Config, Publish, Install & Extend) & Workspace in rust. | |
99 | | [chapter17-smart-pointer](https://github.com/JasonkayZK/rust-learn/tree/chapter17-smart-pointer) | 2021-09-29 | Smart Pointer(Within double-linked-list accomplishment). | |
100 | | [chapter18-concurrency](https://github.com/JasonkayZK/rust-learn/tree/chapter18-concurrency) | 2021-10-03 | Concurrency. | |
101 | | [chapter19-oop](https://github.com/JasonkayZK/rust-learn/tree/chapter19-oop) | 2021-11-14 | Object-Oriented-Programming. | |
102 | | [chapter20-match-patterns](https://github.com/JasonkayZK/rust-learn/tree/chapter20-match-patterns) | 2021-11-14 | The Match Patterns. | |
103 | | [chapter21-advanced-features](https://github.com/JasonkayZK/rust-learn/tree/chapter21-advanced-features) | 2021-11-14 | The advanced features:
Unsafe、Lifetime、Trait、Type、Function & Closure | |
104 | | [actix-web-demo](https://github.com/JasonkayZK/rust-learn/tree/actix-web-demo) | 2021-10-04 | RESTful API accomplished by [actix-web](https://github.com/actix/actix-web) framework. | |
105 | | [rbatis-demo](https://github.com/JasonkayZK/rust-learn/tree/rbatis-demo) | 2021-10-07 | A demo to show how to use ORM framework: [rbatis](https://github.com/rbatis/rbatis) | |
106 | | [wasm-hello](https://github.com/JasonkayZK/rust-learn/tree/wasm-hello) | 2021-10-09 | A simple rust-wasm demo.[Use template: [wasm-pack-template](https://github.com/rustwasm/wasm-pack-template)] | [《Rust实现WebAssembly初窥》](https://jasonkayzk.github.io/2021/10/10/Rust实现WebAssembly初窥/) |
107 | | [feature-phantom](https://github.com/JasonkayZK/rust-learn/tree/feature-phantom) | 2021-10-19 | A demo to show how to use `PhantomData` beautify your code | [《Rust中的PhantomType》](https://jasonkayzk.github.io/2021/10/20/Rust中的PhantomType/) |
108 | | [url-mapper-rs](https://github.com/JasonkayZK/rust-learn/tree/url-mapper-rs) | 2021-12-04
(2021-12-21 Last Updated) | A simple URL Mapper service built | [《Building a Web Application with Rust》](https://www.youtube.com/playlist?list=PLz51_WNhdOqv7S5pnycKySU_4PpCagU4Q) |
109 | | [algorithm](https://github.com/JasonkayZK/rust-learn/tree/algorithm) | 2021-12-22 | Collect lots of algorithm & data structures(Such as: LinkedList, …) | |
110 | | [too-many-lists](https://github.com/JasonkayZK/rust-learn/tree/algorithm/too-many-lists) | 2022-01-05 | A accomplishment for [Learn Rust With Entirely Too Many Linked Lists](https://github.com/rust-unofficial/too-many-lists) | |
111 | | [ffi-demo](https://github.com/JasonkayZK/rust-learn/tree/ffi-demo) | 2022-01-17 | A FFI(Foreign Function Interface) demo according to:
https://nomicon.purewhite.io/ffi.html | |
112 | | [hot-reload](https://github.com/JasonkayZK/rust-learn/tree/hot-reload) | 2022-08-10 | A demo to show hot-reload.
Reference: https://robert.kra.hn/posts/hot-reloading-rust/ | |
113 | | [tokio](https://github.com/JasonkayZK/rust-learn/tree/tokio) | 2022-11-01 | A branch to learn [tokio](https://github.com/tokio-rs/tokio) | |
114 | | [recover](https://github.com/JasonkayZK/rust-learn/tree/recover) | 2022-11-17 | A branch to show how rust recovered from panic | [《Rust从panic中恢复》](https://jasonkayzk.github.io/2022/11/17/Rust从panic中恢复/) |
115 | | [build-version](https://github.com/JasonkayZK/rust-learn/tree/build-version) | 2022-11-17 | A branch to use `build.rs` add commit version for binary executable | [《为Cargo编译的可执行文件增加commit版本号》](https://jasonkayzk.github.io/2022/11/17/为Cargo编译的可执行文件增加commit版本号/) |
116 | | [error](https://github.com/JasonkayZK/rust-learn/tree/error) | 2022-11-18 | A branch to show error handle | [《Rust中的错误处理》](https://jasonkayzk.github.io/2022/11/18/Rust中的错误处理/) |
117 | | [project-structure](https://github.com/JasonkayZK/rust-learn/tree/project-structure) | 2022-11-19 | A branch to show how rust project structure organized | [《Rust模块组织结构》](https://jasonkayzk.github.io/2022/11/19/Rust模块组织结构/) |
118 | | [default-and-with](https://github.com/JasonkayZK/rust-learn/tree/default-and-with) | 2022-11-19 | Use Default or With Trait to initiate item | [《Rust中的默认初始化和初始化重载》](https://jasonkayzk.github.io/2022/11/19/Rust中的默认初始化和初始化重载/) |
119 | | [cargo](https://github.com/JasonkayZK/rust-learn/tree/cargo) | 2022-11-23 | A branch to learn [cargo](https://doc.rust-lang.org/cargo/index.html) | [《Cargo命令及其扩展》](https://jasonkayzk.github.io/2022/11/23/Cargo命令及其扩展/) |
120 | | [compare](https://github.com/JasonkayZK/rust-learn/tree/compare) | 2022-11-23 | A branch to show how PartialEq/Ord, Eq/Ord works | [《Rust中的比较》](https://jasonkayzk.github.io/2022/11/23/Rust中的比较/) |
121 | | [any](https://github.com/JasonkayZK/rust-learn/tree/any) | 2022-11-25 | A branch to show reflection via Any | [《Rust反射之Any》](https://jasonkayzk.github.io/2022/11/24/Rust反射之Any/)
[《Rust中的向下转型》](https://jasonkayzk.github.io/2023/12/13/Rust中的向下转型/) |
122 | | [reflection](https://github.com/JasonkayZK/rust-learn/tree/reflection) | 2022-11-25 | A branch to show reflection via proc-macros | [《Rust反射之过程宏》](https://jasonkayzk.github.io/2022/11/25/Rust反射之过程宏/) |
123 | | [cargo-features](https://github.com/JasonkayZK/rust-learn/tree/cargo-features) | 2022-11-28 | A branch to show cargo features | [《通过一个例子学习Cargo-Features》](https://jasonkayzk.github.io/2022/11/28/通过一个例子学习Cargo-Features/) |
124 | | [future](https://github.com/JasonkayZK/rust-learn/tree/async/examples/1_future) | 2022-11-29 | A branch to show how to use future and how it works | [《Rust中Future执行底层探秘》](https://jasonkayzk.github.io/2022/11/29/Rust中Future执行底层探秘/) |
125 | | [grpc](https://github.com/JasonkayZK/rust-learn/tree/grpc) | 2022-12-03 | A branch to show how to use grpc via [tonic](https://github.com/hyperium/tonic) | [《Rust的GRPC实现Tonic》](https://jasonkayzk.github.io/2022/12/03/Rust的GRPC实现Tonic/) |
126 | | [sqlite](https://github.com/JasonkayZK/rust-learn/tree/sqlite) | 2023-07-11 | A branch to show how to use sqlite & migrations in rust. | [《在Rust中使用SQLite和Migration》](https://jasonkayzk.github.io/2023/07/11/在Rust中使用SQLite和Migration/) |
127 | | [cr-sqlite](https://github.com/JasonkayZK/rust-learn/tree/cr-sqlite) | 2023-09-07 | A branch to show how to test [cr-sqlite](https://github.com/vlcn-io/cr-sqlite) | |
128 | | [sync](https://github.com/JasonkayZK/rust-learn/tree/sync) | 2023-09-13 | A branch to show how to sync data between servers via [tonic](https://github.com/hyperium/tonic) | |
129 | | [automerge](https://github.com/JasonkayZK/rust-learn/tree/automerge) | 2023-09-30 | A repo to learn how to use [autosurgeon](https://github.com/automerge/autosurgeon). | |
130 | | [p2panda-demo](https://github.com/JasonkayZK/rust-learn/tree/p2panda-demo) | 2023-11-12 | A demo to show how to use [p2panda](https://github.com/p2panda/p2panda/tree/main) to create a local-first application. | |
131 | | [global-vars](https://github.com/JasonkayZK/rust-learn/tree/global-vars) | 2023-11-27 | A branch to show how to define a global variable in Rust. | [《Rust中创建全局变量》](https://jasonkayzk.github.io/2023/11/27/Rust中创建全局变量/) |
132 | | [overflow](https://github.com/JasonkayZK/rust-learn/tree/overflow) | 2023-12-13 | A branch to show how to handle arithmetic overflow | [《在Rust中处理整数溢出》](https://jasonkayzk.github.io/2023/12/13/在Rust中处理整数溢出/) |
133 | | [proj/p2p-demo](https://github.com/JasonkayZK/rust-learn/tree/proj/p2p-demo) | 2023-12-27 | A branch to show how to use [libp2p](https://github.com/libp2p/rust-libp2p/) | [《Rust中使用libp2p》](https://jasonkayzk.github.io/2023/12/27/Rust中使用libp2p/) |
134 | | [proj/p2p-sync](https://github.com/JasonkayZK/rust-learn/tree/proj/p2p-sync) | 2023-12-31 | A branch to show how to use gossip and append-log sync data in p2p network | [《使用AppendLog和Gossip在P2P网络中同步状态》](https://jasonkayzk.github.io/2023/12/31/使用AppendLog和Gossip在P2P网络中同步状态/) |
135 | | | | | |
136 |
137 |
138 |
139 | ## **Serial Project**
140 |
141 | ### **url-mapper-rs**
142 |
143 | Project Space:
144 |
145 | - [url-mapper-rs](https://github.com/JasonkayZK/rust-learn/tree/url-mapper-rs)
146 |
147 | Learning Step:
148 |
149 | - [Part I : Configuration](https://github.com/JasonkayZK/rust-learn/commit/12b88b1b5f5e02141ff90716feefea834817c34b)
150 | - [Part II : Database Setup](https://github.com/JasonkayZK/rust-learn/commit/89327a61a4afda4e2fb9f55171889ee7fa205de5)
151 | - [Part III - Database Manager: add mapper & tokio-async](https://github.com/JasonkayZK/rust-learn/commit/51120a38865911aa19a5fd4b093d077a40e95cd0)
152 | - [Part IV: Basic Server & log tracing](https://github.com/JasonkayZK/rust-learn/commit/75267288ec824cd9b65f84245e14b37a9b4d5b4c)
153 | - [Part V: Server and Database Manager communication](https://github.com/JasonkayZK/rust-learn/commit/cefc2ad7639c8359719cb639b9351c16db9e19d1)
154 | - [Part VI - UrlMap CRUD API](https://github.com/JasonkayZK/rust-learn/commit/d77521b4c39ca953ef51cc75065f23a487ba6b12)
155 | - [Part VII - Auth Middleware](https://github.com/JasonkayZK/rust-learn/commit/2da0d7d7ef20cf54bf4d01f4cc927e29ca5a58ea)
156 | - [Part VIII - Containerization](https://github.com/JasonkayZK/rust-learn/commit/5d5cebcf69dccb809afb46b74dd6479991e511ae)
157 | - [Part IX - Handling Signals & Deploying to Kubernetes](https://github.com/JasonkayZK/rust-learn/commit/03d3a5c76ad168da2ac3bd850e18bde6780d747f)
158 | - [Part X - Frontend using Tera](https://github.com/JasonkayZK/rust-learn/commit/ad3828f69af89ea25092d8319bb6099cc357966f)
159 | - [Part XI - React Front-End](https://github.com/JasonkayZK/rust-learn/commit/bdb21c2bff6ead55ba55554a51e0223e76453c60)
160 |
161 | ### algorithm
162 |
163 | Project Space:
164 |
165 | - [algorithm](https://github.com/JasonkayZK/rust-learn/tree/algorithm)
166 | - [sorting](https://github.com/JasonkayZK/rust-learn/tree/algorithm/algorithms/src/sorting)
167 | - [bubble_sort.rs](https://github.com/JasonkayZK/rust-learn/blob/algorithm/algorithms/src/sorting/bubble_sort.rs)
168 | - [insertion_sort.rs](https://github.com/JasonkayZK/rust-learn/blob/algorithm/algorithms/src/sorting/insertion_sort.rs)
169 | - [merge_sort.rs](https://github.com/JasonkayZK/rust-learn/blob/algorithm/algorithms/src/sorting/merge_sort.rs)
170 | - [quick_sort.rs](https://github.com/JasonkayZK/rust-learn/blob/algorithm/algorithms/src/sorting/quick_sort.rs)
171 | - [selection_sort.rs](https://github.com/JasonkayZK/rust-learn/blob/algorithm/algorithms/src/sorting/selection_sort.rs)
172 | - [collection](https://github.com/JasonkayZK/rust-learn/tree/algorithm/collection)
173 | - [list](https://github.com/JasonkayZK/rust-learn/tree/algorithm/collection/src/list)
174 | - [vector.rs](https://github.com/JasonkayZK/rust-learn/blob/algorithm/collection/src/list/vector.rs)
175 | - [linked_list.rs](https://github.com/JasonkayZK/rust-learn/blob/algorithm/collection/src/list/linked_list.rs)
176 | - [tree](https://github.com/JasonkayZK/rust-learn/tree/algorithm/collection/src/tree)
177 | - [binary_search_tree.rs](https://github.com/JasonkayZK/rust-learn/blob/algorithm/collection/src/tree/binary_search_tree.rs)
178 | - [concurrency](https://github.com/JasonkayZK/rust-learn/tree/algorithm/concurrency)
179 | - [my_arc.rs](https://github.com/JasonkayZK/rust-learn/blob/algorithm/concurrency/src/my_arc.rs)
180 |
181 | Learning Step:
182 |
183 | Not Yet!
184 |
185 |
186 |
187 | ## **More Info**
188 |
189 | - https://rust.cc/
190 | - https://wiki.rust-china.org/
191 |
--------------------------------------------------------------------------------
/src/main.rs:
--------------------------------------------------------------------------------
1 | fn main() {
2 | println!("let's rust-up!")
3 | }
4 |
--------------------------------------------------------------------------------