MST

星途 面试题库

面试题:Rust中泛型生命周期类型约束基础应用

请编写一个Rust函数,该函数接受两个具有相同生命周期的引用,并返回其中较长的字符串。要求使用泛型和生命周期标注,同时体现对类型的约束,确保函数能够正确处理不同类型的字符串引用。
16.8万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
fn longer<'a, T: AsRef<str>>(s1: &'a T, s2: &'a T) -> &'a str {
    let s1_ref = s1.as_ref();
    let s2_ref = s2.as_ref();
    if s1_ref.len() >= s2_ref.len() {
        s1_ref
    } else {
        s2_ref
    }
}