gpt4 book ai didi

rust - 使用 "borrowed value does not live long enough"时为 `as_slice`

转载 作者:行者123 更新时间:2023-11-29 08:08:10 28 4
gpt4 key购买 nike

<分区>

我一直遇到这个问题,我不太明白为什么不能编译它:

fn foo(bar: &'static str) -> Foo {
let caps_off = bar.to_ascii_lower().as_slice();
...
}

错误:借用的值生命周期不够长

我有点理解这里的错误,但我不知道还有什么其他方法可以实现这一点。

我尝试将我的 str 转换为小写,然后再将其转换回 str 类型。看起来很简单。

我在这里做错了什么,我该如何解决?

完整代码:

use std::collections::HashMap;
use std::ascii::StrAsciiExt;

struct Foo;

fn foo(bar: &'static str) -> Foo {
let caps_off_ = bar.to_ascii_lower();
let caps_off = caps_off_.as_slice();

let mut my_foos:HashMap<&'static str, Foo> = HashMap::new();
my_foos.insert("hi", Foo);
*my_foos.find(&caps_off).clone().unwrap()
}

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com