面试题答案
一键面试fn print_string<'a>(s1: &'a str, s2: &'a str) -> &'a str {
if s1.len() > s2.len() {
s1
} else {
s2
}
}
这里使用了泛型生命周期参数 'a
,为 s1
、s2
和返回值都标注了相同的生命周期 'a
,表示函数返回的切片的生命周期与传入的两个切片中较短的那个生命周期相同。这样能确保返回值在其使用的整个生命周期内,所引用的数据都是有效的。