相关疑难解决方法(0)

将char转换为&str

我有一个match声明,它返回一个&str:

match k {
    SP_KEY_1 => "KEY_1",
    SP_KEY_2 => "KEY_2",
    SP_KEY_3 => "KEY_3",
    SP_KEY_4 => "KEY_4",
    SP_KEY_5 => "KEY_5",
    SP_KEY_6 => "KEY_6",
    _ => (k as char), // I want to convert this to &str
}.as_bytes()
Run Code Online (Sandbox Code Playgroud)

我试图char先将一个字符串转换为字符串,然后再将其切换为:

&(k as char).to_string()[..]
Run Code Online (Sandbox Code Playgroud)

但这给了我一生的错误:

error[E0597]: borrowed value does not live long enough
Run Code Online (Sandbox Code Playgroud)

说明这(k as char).to_string() 是一个临时值,从我能说的内容来看是有意义的,它会to_string()返回一个克隆.

我可以添加.to_string()&str上面的每个文字来产生返回值String,但这看起来既丑陋(很多重复的代码),并且可能是低效的,因为to_string()克隆了原始的字符串切片.

具体问题是我将如何char进入a &str,但更广泛的问题是有更好的解决方案,这种情况通常是做什么的.

string reference rust

3
推荐指数
2
解决办法
887
查看次数

标签 统计

reference ×1

rust ×1

string ×1