我相信这个函数声明告诉Rust函数输出的生命周期与它的s
参数的生命周期相同:
fn substr<'a>(s: &'a str, until: u32) -> &'a str;
^^^^
Run Code Online (Sandbox Code Playgroud)
在我看来,编译器只需要知道这个(1):
fn substr(s: &'a str, until: u32) -> &'a str;
Run Code Online (Sandbox Code Playgroud)
<'a>
函数名后面的注释是什么意思?为什么编译器需要它,它用它做什么?
(1):我知道由于终生的缺席,它需要知道的更少.但这个问题是关于明确指定生命周期.