< 返回版块

t924417424 发表于 2022-02-21 20:43

Tags:Rust,Option,Project,Demo,Param

在Rust中用更好的方式设置私有字段的参数

项目基于Rust闭包实现,让你可以通过如下形式链式调用(因为Rust没有默认的可变参数实现,如有需求可将相关setter方法放入vec中,也可实现功能)configure方法来设置私有字段参数

fn main() {
    let mut app = Application::default();
    println!("{:?}", app);
    // output: Application { name: "", version: V1 }
    app.configure(
        Application::set_name("set by opt")
    )
        .configure(
            Application::set_version(version::Version::V2)
        );
    println!("{:?}", app);
    // output: Application { name: "set by opt", version: V2 }
}

优点

  • 可有效保护(限制)参数值
  • 相比于直接通过.field设置字段值更优雅

Github中的Demo


Ext Link: https://github.com/t924417424/rust_opt_param

评论区

写评论
w 2022-02-23 16:50

学习了。而且这个好像可以通过宏来实现set_xxx方法

zzliujianbo 2022-02-23 09:16

学习了!

1 共 2 条评论, 1 页