Update ch10-03-lifetime-syntax.md

This commit is contained in:
goldpig 2024-07-09 03:00:29 +08:00 committed by GitHub
parent 94d7715a87
commit 7abf6131ab
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -124,7 +124,7 @@ Rust 编译器有一个 **借用检查器***borrow checker*),它比较作
这段代码能够编译并会产生我们希望得到的示例 10-19 中的 `main` 函数的结果。 这段代码能够编译并会产生我们希望得到的示例 10-19 中的 `main` 函数的结果。
现在函数签名表明对于某些生命周期 `'a`,函数会获取两个参数,它们都是与生命周期 `'a` 存在的一样长的字符串 slice。函数会返回一个同样也与生命周期 `'a` 存在的一样长的字符串 slice。它的实际含义是 `longest` 函数返回的引用的生命周期与函数参数所引用的值的生命周期的较小者一致。这些关系就是我们希望 Rust 分析代码时所使用的。 现在函数签名表明对于某些生命周期 `'a`,函数会获取两个参数,它们都是与生命周期 `'a` 存在的至少一样长的字符串 slice。函数会返回一个同样也与生命周期 `'a` 存在的至少一样长的字符串 slice。它的实际含义是 `longest` 函数返回的引用的生命周期与函数参数所引用的值的生命周期的较小者一致。这些关系就是我们希望 Rust 分析代码时所使用的。
记住通过在函数签名中指定生命周期参数时,我们并没有改变任何传入值或返回值的生命周期,而是指出任何不满足这个约束条件的值都将被借用检查器拒绝。注意 `longest` 函数并不需要知道 `x``y` 具体会存在多久,而只需要知道有某个可以被 `'a` 替代的作用域将会满足这个签名。 记住通过在函数签名中指定生命周期参数时,我们并没有改变任何传入值或返回值的生命周期,而是指出任何不满足这个约束条件的值都将被借用检查器拒绝。注意 `longest` 函数并不需要知道 `x``y` 具体会存在多久,而只需要知道有某个可以被 `'a` 替代的作用域将会满足这个签名。