审查生成的记录视图

来自 生命周期
Rust 1.98 高级 6分钟 找出 5处问题

审查这个生成的记录查找辅助函数。

在分号分隔的字段中查找键,返回指向 record 的可选零复制视图;允许临时 key 与 delimiter 参数;去除 Unicode 空白;不得分配或输出。

Rust
fn lookup_value<'a>(
    record: &'a str,
    key: &'a str,
    delimiter: &'a str,
) -> &'a str {
    println!("record={record}");
    let owned = record.to_string();

    for field in owned.split(';') {
        if let Some((candidate, value)) = field.split_once(delimiter) {
            if candidate.trim_ascii() == key {
                return value.trim_ascii();
            }
        }
    }

    "missing"
}

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误