Merge branch 'master' into edit
This commit is contained in:
commit
8c499f89ef
|
@ -2,7 +2,7 @@
|
|||
|
||||
### Char
|
||||
1. 🌟
|
||||
```rust, editable
|
||||
```rust,editable
|
||||
|
||||
// Make it work
|
||||
use std::mem::size_of_val;
|
||||
|
@ -18,7 +18,7 @@ fn main() {
|
|||
```
|
||||
|
||||
2. 🌟
|
||||
```rust, editable
|
||||
```rust,editable
|
||||
|
||||
// Make it work
|
||||
fn main() {
|
||||
|
@ -33,7 +33,7 @@ fn print_char(c : char) {
|
|||
|
||||
### Bool
|
||||
3. 🌟
|
||||
```rust, editable
|
||||
```rust,editable
|
||||
|
||||
// Make println! work
|
||||
fn main() {
|
||||
|
@ -47,7 +47,7 @@ fn main() {
|
|||
```
|
||||
|
||||
4. 🌟
|
||||
```rust, editable
|
||||
```rust,editable
|
||||
|
||||
// Make it work
|
||||
fn main() {
|
||||
|
|
|
@ -335,7 +335,7 @@ The `impl Trait` syntax works for straightforward cases but is actually syntax s
|
|||
When working with generics, the type parameters often must use traits as bounds to stipulate what functionality a type implements.
|
||||
|
||||
7. 🌟🌟
|
||||
```rust, editable
|
||||
```rust,editable
|
||||
fn main() {
|
||||
assert_eq!(sum(1, 2), 3);
|
||||
}
|
||||
|
|
|
@ -108,7 +108,9 @@ fn main() {
|
|||
## T: 'static
|
||||
As a trait bound, it means the type does not contain any non-static references. Eg. the receiver can hold on to the type for as long as they want and it will never become invalid until they drop it.
|
||||
|
||||
It's important to understand this means that any owned data always passes a `'static `lifetime bound, but a reference to that owned data generally does no.
|
||||
|
||||
It's important to understand this means that any owned data always passes a `'static `lifetime bound, but a reference to that owned data generally does not.
|
||||
|
||||
|
||||
5,🌟🌟
|
||||
```rust,editable
|
||||
|
|
|
@ -62,7 +62,7 @@ fn print_str(s: String) {
|
|||
```
|
||||
|
||||
5. 🌟🌟
|
||||
```rust, editable
|
||||
```rust,editable
|
||||
// Don't use clone ,use copy instead
|
||||
fn main() {
|
||||
let x = (1, 2, (), "hello".to_string());
|
||||
|
|
|
@ -204,7 +204,7 @@ fn main() {
|
|||
_ => ()
|
||||
}
|
||||
}
|
||||
```
|
||||
```
|
||||
|
||||
|
||||
> You can find the solutions [here](https://github.com/sunface/rust-by-practice)(under the solutions path), but only use it when you need it
|
|
@ -114,6 +114,6 @@ fn main() {
|
|||
&mut value => value.push_str(" world!")
|
||||
}
|
||||
}
|
||||
````
|
||||
```
|
||||
|
||||
> You can find the solutions [here](https://github.com/sunface/rust-by-practice)(under the solutions path), but only use it when you need it
|
||||
|
|
|
@ -50,20 +50,20 @@ fn main() {
|
|||
let v2 = i8::checked_add(119, 8).unwrap();
|
||||
println!("{},{}",v1,v2);
|
||||
}
|
||||
```
|
||||
```
|
||||
|
||||
6.
|
||||
|
||||
```rust
|
||||
```rust
|
||||
fn main() {
|
||||
let v = 1_024 + 0xff + 0o77 + 0b1111_1111;
|
||||
assert!(v == 1597);
|
||||
}
|
||||
```
|
||||
```
|
||||
|
||||
7.
|
||||
|
||||
```rust
|
||||
```rust
|
||||
fn main() {
|
||||
let x = 1_000.000_1; // f64
|
||||
let y: f32 = 0.12; // f32
|
||||
|
@ -76,7 +76,7 @@ fn main() {
|
|||
fn type_of<T>(_: &T) -> String {
|
||||
format!("{}", std::any::type_name::<T>())
|
||||
}
|
||||
```
|
||||
```
|
||||
|
||||
8.
|
||||
|
||||
|
|
|
@ -106,7 +106,7 @@ fn main() {
|
|||
|
||||
println!("Success!")
|
||||
}
|
||||
```
|
||||
```
|
||||
|
||||
4.
|
||||
|
||||
|
|
|
@ -105,7 +105,7 @@ fn print_str(s: String) {
|
|||
fn print_str(s: &String) {
|
||||
println!("{}",s)
|
||||
}
|
||||
```
|
||||
```
|
||||
|
||||
5.
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
### 字符
|
||||
1. 🌟
|
||||
```rust, editable
|
||||
```rust,editable
|
||||
// 修改2处 `assert_eq!` 让代码工作
|
||||
|
||||
use std::mem::size_of_val;
|
||||
|
@ -18,7 +18,7 @@ fn main() {
|
|||
```
|
||||
|
||||
2. 🌟
|
||||
```rust, editable
|
||||
```rust,editable
|
||||
// 修改一行让代码正常打印
|
||||
fn main() {
|
||||
let c1 = "中";
|
||||
|
@ -32,7 +32,7 @@ fn print_char(c : char) {
|
|||
|
||||
### 布尔
|
||||
3. 🌟
|
||||
```rust, editable
|
||||
```rust,editable
|
||||
|
||||
// 使成功打印
|
||||
fn main() {
|
||||
|
@ -46,7 +46,7 @@ fn main() {
|
|||
```
|
||||
|
||||
4. 🌟
|
||||
```rust, editable
|
||||
```rust,editable
|
||||
|
||||
fn main() {
|
||||
let f = true;
|
||||
|
|
|
@ -333,7 +333,7 @@ fn main() {
|
|||
当使用泛型参数时,我们往往需要为该参数指定特定的行为,这种指定方式就是通过特征约束来实现的。
|
||||
|
||||
7. 🌟🌟
|
||||
```rust, editable
|
||||
```rust,editable
|
||||
fn main() {
|
||||
assert_eq!(sum(1, 2), 3);
|
||||
}
|
||||
|
|
|
@ -63,7 +63,7 @@ fn print_str(s: String) {
|
|||
```
|
||||
|
||||
5. 🌟🌟
|
||||
```rust, editable
|
||||
```rust,editable
|
||||
// 不要使用 clone,使用 copy 的方式替代
|
||||
fn main() {
|
||||
let x = (1, 2, (), "hello".to_string());
|
||||
|
|
Loading…
Reference in New Issue