主要目标是访问元组内拥有的框,例如(String, i32)
下面代码中的字符串。
我的第一个意图是使用let
装订从拥有的盒子中借用。借用适用于非元组情况 (1),但不适用于涉及元组的情况 (2)。
我的意图是否错误,如果是,是否还有另一种惯用的方法来访问字符串?
示例代码:
fn main() {
// 1. Normal borrowing
let s: String = "blub".to_string();
let sr: &str = &s; // this works
// 2. Borrowing from a tuple
let st = ("blub".to_string(), 1);
let (st_r, i): (&str, i32) = st; // error: mismatched types:
println!( "{} {} {} {}", s, sr, st_r, i);
}
Run Code Online (Sandbox Code Playgroud)
编译器错误是:
error: mismatched types:
expected `(&str, i32)`,
found `(collections::string::String, _)`
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
878 次 |
最近记录: |