Compare commits

...

3 Commits

Author SHA1 Message Date
KaiserY
769fb8fa9d update listings 2025-05-07 00:10:20 +08:00
KaiserY
698c6fb96e update ch17-06 2025-05-06 23:52:07 +08:00
KaiserY
964a29b03a update ch17-06 2025-05-06 23:36:53 +08:00
847 changed files with 5362 additions and 14770 deletions

View File

@ -4,7 +4,8 @@
## 状态 ## 状态
- 新增 ch17 async & await & 2024 edtion 施工中,若示例代码有误请见谅。 - ch17 async & await 施工完毕。
- 2024 edtion 施工中,若示例代码有误请见谅。
PS: PS:

View File

@ -1,7 +1,7 @@
[package] [package]
name = "guessing_game" name = "guessing_game"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -25,7 +25,7 @@ fn main() {
// ANCHOR_END: expect // ANCHOR_END: expect
// ANCHOR: print_guess // ANCHOR: print_guess
println!("You guessed: {}", guess); println!("You guessed: {guess}");
// ANCHOR_END: print_guess // ANCHOR_END: print_guess
} }
// ANCHOR: all // ANCHOR: all

View File

@ -1,6 +1,12 @@
# This file is automatically @generated by Cargo. # This file is automatically @generated by Cargo.
# It is not intended for manual editing. # It is not intended for manual editing.
version = 3 version = 4
[[package]]
name = "byteorder"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]] [[package]]
name = "cfg-if" name = "cfg-if"
@ -10,9 +16,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]] [[package]]
name = "getrandom" name = "getrandom"
version = "0.2.12" version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"libc", "libc",
@ -28,15 +34,36 @@ dependencies = [
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.153" version = "0.2.170"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" checksum = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828"
[[package]] [[package]]
name = "ppv-lite86" name = "ppv-lite86"
version = "0.2.17" version = "0.2.20"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04"
dependencies = [
"zerocopy",
]
[[package]]
name = "proc-macro2"
version = "1.0.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99"
dependencies = [
"unicode-ident",
]
[[package]]
name = "quote"
version = "1.0.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"
dependencies = [
"proc-macro2",
]
[[package]] [[package]]
name = "rand" name = "rand"
@ -68,8 +95,46 @@ dependencies = [
"getrandom", "getrandom",
] ]
[[package]]
name = "syn"
version = "2.0.98"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "unicode-ident"
version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe"
[[package]] [[package]]
name = "wasi" name = "wasi"
version = "0.11.0+wasi-snapshot-preview1" version = "0.11.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "zerocopy"
version = "0.7.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
dependencies = [
"byteorder",
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
version = "0.7.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
dependencies = [
"proc-macro2",
"quote",
"syn",
]

View File

@ -1,7 +1,7 @@
[package] [package]
name = "guessing_game" name = "guessing_game"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,7 +1,7 @@
[package] [package]
name = "guessing_game" name = "guessing_game"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,5 +1,6 @@
// ANCHOR: all // ANCHOR: all
use std::io; use std::io;
// ANCHOR: ch07-04 // ANCHOR: ch07-04
use rand::Rng; use rand::Rng;

View File

@ -1,7 +1,7 @@
[package] [package]
name = "guessing_game" name = "guessing_game"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,10 +1,4 @@
$ cargo build $ cargo build
Downloading crates ...
Downloaded rand_core v0.6.2
Downloaded getrandom v0.2.2
Downloaded rand_chacha v0.3.0
Downloaded ppv-lite86 v0.2.10
Downloaded libc v0.2.86
Compiling libc v0.2.86 Compiling libc v0.2.86
Compiling getrandom v0.2.2 Compiling getrandom v0.2.2
Compiling cfg-if v1.0.0 Compiling cfg-if v1.0.0
@ -14,9 +8,9 @@ $ cargo build
Compiling rand v0.8.5 Compiling rand v0.8.5
Compiling guessing_game v0.1.0 (file:///projects/guessing_game) Compiling guessing_game v0.1.0 (file:///projects/guessing_game)
error[E0308]: mismatched types error[E0308]: mismatched types
--> src/main.rs:22:21 --> src/main.rs:23:21
| |
22 | match guess.cmp(&secret_number) { 23 | match guess.cmp(&secret_number) {
| --- ^^^^^^^^^^^^^^ expected `&String`, found `&{integer}` | --- ^^^^^^^^^^^^^^ expected `&String`, found `&{integer}`
| | | |
| arguments to this method are incorrect | arguments to this method are incorrect
@ -24,7 +18,7 @@ error[E0308]: mismatched types
= note: expected reference `&String` = note: expected reference `&String`
found reference `&{integer}` found reference `&{integer}`
note: method defined here note: method defined here
--> /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/core/src/cmp.rs:839:8 --> /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/cmp.rs:964:8
For more information about this error, try `rustc --explain E0308`. For more information about this error, try `rustc --explain E0308`.
error: could not compile `guessing_game` (bin "guessing_game") due to 1 previous error error: could not compile `guessing_game` (bin "guessing_game") due to 1 previous error

View File

@ -1,8 +1,9 @@
// ANCHOR: here // ANCHOR: here
use rand::Rng;
use std::cmp::Ordering; use std::cmp::Ordering;
use std::io; use std::io;
use rand::Rng;
fn main() { fn main() {
// --snip-- // --snip--
// ANCHOR_END: here // ANCHOR_END: here

View File

@ -1,7 +1,7 @@
[package] [package]
name = "guessing_game" name = "guessing_game"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,7 +1,8 @@
use rand::Rng;
use std::cmp::Ordering; use std::cmp::Ordering;
use std::io; use std::io;
use rand::Rng;
fn main() { fn main() {
println!("Guess the number!"); println!("Guess the number!");

View File

@ -1,7 +1,7 @@
[package] [package]
name = "guessing_game" name = "guessing_game"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,7 +1,8 @@
use rand::Rng;
use std::cmp::Ordering; use std::cmp::Ordering;
use std::io; use std::io;
use rand::Rng;
fn main() { fn main() {
println!("Guess the number!"); println!("Guess the number!");

View File

@ -1,8 +1,6 @@
[package] [package]
name = "guessing_game" name = "guessing_game"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies] [dependencies]

View File

@ -1,5 +1,5 @@
$ cargo run $ cargo run
Compiling guessing_game v0.1.0 (file:///projects/guessing_game) Compiling guessing_game v0.1.0 (file:///projects/guessing_game)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.50s Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.08s
Running `target/debug/guessing_game` Running `target/debug/guessing_game`
Hello, world! Hello, world!

View File

@ -1,7 +1,7 @@
[package] [package]
name = "guessing_game" name = "guessing_game"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,7 +1,7 @@
[package] [package]
name = "guessing_game" name = "guessing_game"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,7 +1,8 @@
use rand::Rng;
use std::cmp::Ordering; use std::cmp::Ordering;
use std::io; use std::io;
use rand::Rng;
fn main() { fn main() {
println!("Guess the number!"); println!("Guess the number!");

View File

@ -1,7 +1,7 @@
[package] [package]
name = "guessing_game" name = "guessing_game"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,7 +1,8 @@
use rand::Rng;
use std::cmp::Ordering; use std::cmp::Ordering;
use std::io; use std::io;
use rand::Rng;
fn main() { fn main() {
println!("Guess the number!"); println!("Guess the number!");

View File

@ -1,7 +1,7 @@
[package] [package]
name = "guessing_game" name = "guessing_game"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,7 +1,8 @@
use rand::Rng;
use std::cmp::Ordering; use std::cmp::Ordering;
use std::io; use std::io;
use rand::Rng;
fn main() { fn main() {
println!("Guess the number!"); println!("Guess the number!");

View File

@ -1,6 +1,6 @@
[package] [package]
name = "functions" name = "functions"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "branches" name = "branches"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "loops" name = "loops"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "loops" name = "loops"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "loops" name = "loops"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "variables" name = "variables"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "variables" name = "variables"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "variables" name = "variables"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "variables" name = "variables"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "variables" name = "variables"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "floating-point" name = "floating-point"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "numeric-operations" name = "numeric-operations"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "boolean" name = "boolean"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "char" name = "char"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "tuples" name = "tuples"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "tuples" name = "tuples"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "tuples" name = "tuples"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "arrays" name = "arrays"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "arrays" name = "arrays"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "arrays" name = "arrays"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "functions" name = "functions"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "functions" name = "functions"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "functions" name = "functions"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "functions" name = "functions"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "functions" name = "functions"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "functions" name = "functions"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "functions" name = "functions"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "functions" name = "functions"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "comments" name = "comments"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,3 +1,3 @@
fn main() { fn main() {
let lucky_number = 7; // Im feeling lucky today let lucky_number = 7; // I'm feeling lucky today
} }

View File

@ -1,6 +1,6 @@
[package] [package]
name = "comments" name = "comments"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,4 +1,4 @@
fn main() { fn main() {
// Im feeling lucky today // I'm feeling lucky today
let lucky_number = 7; let lucky_number = 7;
} }

View File

@ -1,6 +1,6 @@
[package] [package]
name = "branches" name = "branches"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "branches" name = "branches"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "branches" name = "branches"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "branches" name = "branches"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "branches" name = "branches"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "branches" name = "branches"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "loops" name = "loops"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "loops" name = "loops"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "loops" name = "loops"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "loops" name = "loops"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,7 +1,7 @@
[package] [package]
name = "no_type_annotations" name = "no_type_annotations"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -6,4 +6,4 @@ fn main() {
// 使用 s // 使用 s
} // 此作用域已结束s 不再有效 } // 此作用域已结束s 不再有效
// ANCHOR_END: here // ANCHOR_END: here
} }

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -8,7 +8,7 @@ fn main() {
makes_copy(x); // x 应该移动函数里, makes_copy(x); // x 应该移动函数里,
// 但 i32 是 Copy 的, // 但 i32 是 Copy 的,
// 所以在后面可继续使用 x println!("{}", x); // 所以在后面可继续使用 x
} // 这里x 先移出了作用域,然后是 s。但因为 s 的值已被移走, } // 这里x 先移出了作用域,然后是 s。但因为 s 的值已被移走,
// 没有特殊之处 // 没有特殊之处

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,29 +1,30 @@
fn main() { fn main() {
let s1 = gives_ownership(); // gives_ownership 将返回值 let s1 = gives_ownership(); // gives_ownership moves its return
// 转移给 s1 // value into s1
let s2 = String::from("hello"); // s2 进入作用域 let s2 = String::from("hello"); // s2 comes into scope
let s3 = takes_and_gives_back(s2); // s2 被移动到 let s3 = takes_and_gives_back(s2); // s2 is moved into
// takes_and_gives_back 中, // takes_and_gives_back, which also
// 它也将返回值移给 s3 // moves its return value into s3
} // 这里s3 移出作用域并被丢弃。s2 也移出作用域,但已被移走, } // Here, s3 goes out of scope and is dropped. s2 was moved, so nothing
// 所以什么也不会发生。s1 离开作用域并被丢弃 // happens. s1 goes out of scope and is dropped.
fn gives_ownership() -> String { // gives_ownership 会将 fn gives_ownership() -> String { // gives_ownership will move its
// 返回值移动给 // return value into the function
// 调用它的函数 // that calls it
let some_string = String::from("yours"); // some_string 进入作用域。 let some_string = String::from("yours"); // some_string comes into scope
some_string // 返回 some_string some_string // some_string is returned and
// 并移出给调用的函数 // moves out to the calling
// // function
} }
// takes_and_gives_back 将传入字符串并返回该值 // 该函数将传入字符串并返回该值
fn takes_and_gives_back(a_string: String) -> String { // a_string 进入作用域 fn takes_and_gives_back(a_string: String) -> String {
// // a_string comes into
// scope
a_string // 返回 a_string 并移出给调用的函数 a_string // 返回 a_string 并移出给调用的函数
} }

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ownership" name = "ownership"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "structs" name = "structs"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "structs" name = "structs"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
[dependencies] [dependencies]

Some files were not shown because too many files have changed in this diff Show More