rust - Rust Lifetimes:返回一个指针
问题描述
当我编写这样的函数时,
fn must_get_env<'a>(key: &'a str) -> &'a str {
match std::env::var(key) {
Ok(val) => {
return &val;
}
Err(_) => panic!("Missing required environment variable: {}", key),
}
}
我收到此错误:
error[E0597]: `val` does not live long enough
--> src/main.rs:19:21
|
19 | return &val;
| ^^^ borrowed value does not live long enough
...
22 | }
| - borrowed value only lives until here
我以为我对生锈的寿命有很好的理解,但显然不是。除了返回 a 之外,我还有什么选择String
?
解决方案
推荐阅读
- ruby-on-rails - Mysql2::Error: 尝试获取锁时发现死锁;尝试重新启动事务(Ruby on Rails)
- java - 如何将整数变量传递给我的活动的 xml 文件?
- c# - 在运行时编辑后使用预制件生成新的预制件
- javascript - 我怎样才能转换使用 jquery 函数标记和标记?
- nexus - 从 2.x 升级到 3.x 的 Nexus 缺少工件的时间戳
- android - WebRTC Android:来自电话扬声器的声音通过电话麦克风进入会议并引起回声
- amazon-web-services - Cloudformation 能否用于设置 API Gateway 以将 http 负载直接转发到 Kinesis Datastream?
- wordpress - NGINX 重定向 www.website.com/folder/ 到 website.com
- c++ - C ++ wxWidgets:更改Sizer的字体
- jsf - 在对话框中单击“是”后不填充对象