我正在翻阅铁锈书,即
minigrep project
.在那里,我遇到了以下片段:
fn main() {
let args: Vec<String> = env::args().collect();
let (query, filename) = parse_config(&args);
// --snip--
}
fn parse_config(args: &[String]) -> (&str, &str) {
let query = &args[1];
let filename = &args[2];
(query, filename)
}
让我困惑的是
args: &[String]
.如果我将其替换为
args: &Vec<String>
,它也可以工作。我猜是这样的
&[String]
是一种更通用的类型注释,它不仅匹配
&Vec<String>
,但也有一些其他类型。对吗?如果是,还有哪些其他类型与之匹配
[T]
?