mirror of
https://github.com/sunface/rust-by-practice.git
synced 2025-06-23 04:29:41 +00:00
@ -25,9 +25,9 @@ fn main() {
|
|||||||
|
|
||||||
let slice = &arr[..2];
|
let slice = &arr[..2];
|
||||||
|
|
||||||
// Modify '6' to make it work
|
// Modify '8' to make it work
|
||||||
// TIPS: slice( reference ) IS NOT an array, if it is an array, then `assert!` will passed: Each of the two UTF-8 chars '中' and '国' occupies 3 bytes, 2 * 3 = 6
|
// TIPS: slice( reference ) IS NOT an array, if it is an array, then `assert!` will passed: Each of the two chars '中' and '国' occupies 4 bytes, 2 * 4 = 8
|
||||||
assert!(std::mem::size_of_val(&slice) == 6);
|
assert!(std::mem::size_of_val(&slice) == 8);
|
||||||
|
|
||||||
println!("Success!");
|
println!("Success!");
|
||||||
}
|
}
|
||||||
|
@ -25,9 +25,9 @@ fn main() {
|
|||||||
|
|
||||||
let slice = &arr[..2];
|
let slice = &arr[..2];
|
||||||
|
|
||||||
// 修改数字 `6` 让代码工作
|
// 修改数字 `8` 让代码工作
|
||||||
// 小提示: 切片和数组不一样,它是引用。如果是数组的话,那下面的 `assert!` 将会通过: 因为'中'和'国'是 UTF-8 字符,它们每个占用 3 个字节,2 个字符就是 6 个字节
|
// 小提示: 切片和数组不一样,它是引用。如果是数组的话,那下面的 `assert!` 将会通过: '中'和'国'是char类型,char类型是Unicode编码,大小固定为4字节,两个字符为8字节。
|
||||||
assert!(std::mem::size_of_val(&slice) == 6);
|
assert!(std::mem::size_of_val(&slice) == 8);
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -194,4 +194,4 @@ fn main() {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
> 你可以在[这里](https://github.com/sunface/rust-by-practice/blob/master/solutions/pattern-match/match-iflet.md)找到答案(在 solutions 路径下)
|
> 你可以在[这里](https://github.com/sunface/rust-by-practice/blob/master/solutions/pattern-match/match.md)找到答案(在 solutions 路径下)
|
Reference in New Issue
Block a user