()); 但是那张“不确定-6ren">
gpt4 book ai didi

generics - 什么是 Vec<_>?

转载 作者:行者123 更新时间:2023-11-29 07:42:27 27 4
gpt4 key购买 nike

我看过Vec<_>已经好几次了。例如:

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

但是那张“不确定的脸”是什么<_>意思是?

我已经习惯了尖括号中的类型名称,但那会是什么类型呢?我所知道的下划线的唯一含义是来自 Python 作为未使用变量的名称。

最佳答案

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

您可以在 The Rust Programming Language 章节中找到关于 iterator consumers 的解释:

Using a _ will let you provide a partial hint:

let one_to_one_hundred = (1..101).collect::<Vec<_>>(); This says "Collect into a Vec<T>, please, but infer what the T is for me." _ is sometimes called a "type placeholder" for this reason.

关于generics - 什么是 Vec<_>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34363984/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com