当前位置:  开发笔记 > 编程语言 > 正文

什么是Vec <_>?

如何解决《什么是Vec<_>?》经验,为你挑选了1个好方法。

我已经见过Vec<_>几次了.例如:

let a = "line1\r\nline2\nline3";
println!("{:?}", a.lines().collect::>());

但那个"不确定的面孔" <_>是什么意思呢?

我已习惯尖括号中的类型名称,但这可以是什么类型?我所知道的下划线的唯一含义是来自Python作为未使用变量的名称.



1> Paolo Falabe..:

它的意思是"Rust编译器,推断出什么类型进入Vec".它确实类似于Python中的未使用变量(以及Rust本身),因为它代表一个类型的占位符,就像它可以表示变量名称的占位符一样.

您可以在The Rust Programming Language一章中找到有关迭代器使用者的解释:

使用_将允许您提供部分提示:

let one_to_one_hundred = (1..101).collect::>();这说:"请收集Vec一下,但要推断出T对我来说是什么." _因此,有时称为"类型占位符".


谢谢!出于某种原因,文档中的泛型章节没有提及有关参数类型推断的任何内容.
推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有