我正在设计一个库,它将给定的字符串从乌克兰语音译为英语,因此我决定使用“匹配”运算符来定义带有多个条件检查的语句。但我遇到了编译器错误,这对于 Rust 来说是典型的,但在我的情况下完全不可能(至少我这么认为)。
\n\n\n --> src/lib.rs:188:21\n |\n188 | origin_mutated[i] = 'Y';\n | ^^^^^^^^^^^^^^ use of possibly-uninitialized `origin_mutated`\n\nerror: aborting due to previous error\nRun Code Online (Sandbox Code Playgroud)\n\n这是库的完整代码。如果我没有看到明显的东西,请让我遇到问题(因为我怀疑这可能是编译器中的错误)
\n\npub fn transliterate(mut origin: String) -> String {\n let counter: usize = origin.chars().count();\n let mut j: usize = 0;\n let mut i: usize = 0;\n let origin_vec: Vec<char> = origin.chars().collect();\n let mut origin_mutated: Vec<char>;\n if j <= counter{\n while j <= counter {\n match origin_vec[j] {\n '\xd0\x90' => {\n origin_mutated[i] = 'A';\n i+=1;\n j+=1;\n …Run Code Online (Sandbox Code Playgroud) 最近我在运行一些 Rust 代码时遇到了返回“!”的函数。而不是基本变量类型,如下所示:
fn my_function() -> ! {
//function body
}
Run Code Online (Sandbox Code Playgroud)
所以我想知道,这是什么意思。我无法在https://doc.rust-lang.org/book 中找到关于此的信息 什么数据,函数返回带有这样的指标?
rust ×2