小编Dun*_*can的帖子

Rust匹配语句需要逗号吗?

为什么这段代码有效?匹配语句中的逗号只是一个约定吗?

for (index, character) in argv[1].chars().enumerate() {
match character {
    'a' | 'A' => {println!("{}: 'A'", index)}
    'e' | 'E' => {println!("{}: 'E'", index)}
    'i' | 'I' => {println!("{}: 'I'", index)}
    'o' | 'O' => {println!("{}: 'O'", index)}
    'u' | 'U' => {println!("{}: 'U'", index)}
     _        => {
                     let consonant: Vec<_> = character.to_uppercase().collect();
                     println!("{}: {:?} is not a vowel", index, consonant[0])
                 }
}
Run Code Online (Sandbox Code Playgroud)

syntax rust

12
推荐指数
2
解决办法
448
查看次数

为什么 size_of 可以用于未确定大小的类型?

文档std::mem::size_of没有提供&strString正在使用的示例,但都使用以下代码返回大小:

println!("The size of a string slice (&str): {}", mem::size_of::<&str>());
// OUTPUT: The size of a string slice (&str): 16
println!("The size of a growable string (String): {}", mem::size_of::<String>());
// OUTPUT: The size of a growable string (String): 24
Run Code Online (Sandbox Code Playgroud)

根据我的理解,&str类型只是对“编码为 UTF-8 字节流的 Unicode 标量值序列”开头的引用。是&str指两个指针的大小吗?我知道一个指针在 64 位系统上有 8 个字节长。

mem::size_of::<str>()确实返回错误,就像我所期望的那样。然而,无论是String&String收益的大小。

memory rust

5
推荐指数
1
解决办法
227
查看次数

标签 统计

rust ×2

memory ×1

syntax ×1