Generics 什么是Vec<_>;?
我已经看过几次了。例如:Generics 什么是Vec<_>;?,generics,rust,Generics,Rust,我已经看过几次了。例如: let a = "line1\r\nline2\nline3"; println!("{:?}", a.lines().collect::<Vec<_>>()); let a=“line1\r\nline2\nline3”; 普林顿!(“{:?}”,a.lines().collect::()); 但那张“不确定的脸”是什么意思 我习惯了尖括号中的类型名,但那是什么类型? 我所知道的下划线的唯一含义来自Python,它是一个未使用变量的名称。它
let a = "line1\r\nline2\nline3";
println!("{:?}", a.lines().collect::<Vec<_>>());
let a=“line1\r\nline2\nline3”;
普林顿!(“{:?}”,a.lines().collect::());
但那张“不确定的脸”是什么意思
我习惯了尖括号中的类型名,但那是什么类型?
我所知道的下划线的唯一含义来自Python,它是一个未使用变量的名称。它的意思是“Rust编译器,推断进入Vec
”的类型。它确实类似于Python中未使用的变量(以及Rust本身),因为它表示类型的占位符,就像它可以表示变量名的占位符一样
您可以在Rust编程语言一章中找到有关以下内容的说明:
使用u可以提供部分提示:
让一到一百=(1..101)代码>这是说
“请收集到Vec
,但是推断T
对我来说是什么。”
为此,有时称为“类型占位符”
谢谢出于某种原因,文档中的泛型一章没有提到任何关于参数类型推断的内容。是否有专门关于\uuu
语法的文档?我找不到。我只找到解释迭代器时使用的文本。@li我想这是现在唯一提到的地方。github上记录该功能的问题已经解决,将该段落添加到迭代器部分: