gpt4 book ai didi

enums - rust :如何简化枚举嵌套匹配?

转载 作者:行者123 更新时间:2023-12-03 11:45:10 25 4
gpt4 key购买 nike

我得到了std::result::Result<Row, sqlx::Error>的结果,我想检查是否找到该行。
正确的代码:

let sql = "select id,name from tablename LIMIT 0";
let r = sqlx::query_as::<_, Person>(sql).fetch_one(&pool).await;
if let Err(err) = r {
match err {
sqlx::Error::RowNotFound => println!("Not Found!!!"),
_ => (),
}
}
正确方法1:
if let Err(err) = r {
if let sqlx::Error::RowNotFound = err {
println!("Not Found!!!");
}
}
正确方法2:
r.map_err(|err| if let sqlx::Error::RowNotFound = err {
println!("Not Found!!!");
});
有更简化的方法吗?

最佳答案

您还可以像这样进行匹配:

match r {
Err(sqlx::Error::RowNotFound) => println!("Not Found!!!"),
_ => (),
}
您也可以看看 match guards

关于enums - rust :如何简化枚举嵌套匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62859402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com