修正切片练习题2错误
This commit is contained in:
parent
2cca8dfeaa
commit
81d8752422
|
@ -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);
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue