Rust中结构体的字段初始化简写

字段初始化简写(field init shorthand):在字段名与变量名相同时,不需要使用 字段名: 变量名 的形式,而直接使用 字段名 的形式。

示例程序:

struct User {
    username: String,
    email: String,
    sign_in_count: u64,
    active: bool,
}

fn build_user(username: String, email: String) -> User {
    User {
        username,
        email,
        active: true,
        sign_in_count: 1,
    }
}

fn main() {
    let user1 = build_user(String::from("yuyoubei"), 
            String::from("yuyoubei@qq.com"));

    println!("{}, {}, {}, {}", user1.username, user1.email, user1.active, user1.sign_in_count); // 输出 yuyoubei, yuyoubei@qq.com, true, 1
}

我们希望 build_user 函数的 email 参数来初始化这个实例的 email 字段。由于字段 email 与参数 email 拥有相同的名字,所以我们不用书写完整的 email: email 语句,只保留 email 即可。

上一篇:Layui中更换table组件行颜色


下一篇:227. 基本计算器 II(不考虑括号)