我有一个用于PostgreSQL的连接信息的 struct :
struct PgConf {
host: String,
port: i16,
user: String,
passwd: String,
dbname: String
}
目前,我必须从HashMap字符串、字符串和gt;中初始化它:
impl PgConf {
fn init(&mut self, args: &ArgList) -> () {
if let Some(val) = args.get("host") {
self.host = val.clone();
}
if let Some(val) = args.get("port") {
self.port = val.parse().unwrap_or(5432);
}
if let Some(val) = args.get("user") {
self.user = val.clone();
}
if let Some(val) = args.get("passwd") {
self.passwd = val.clone();
}
if let Some(val) = args.get("db") {
self.dbname = val.clone();
}
}
}
我认为上面的代码有点臃肿.有没有更好的方法来实现这一点?