如何从字符串与Sender对象构成的元组可变引用向量中移出Sender对象并缩减向量大小?
如何从字符串与Sender对象构成的元组可变引用向量中移出Sender对象并缩减向量大小?
我试过一个看起来类似的解决办法,但它根本解决不了我的问题——那个方案只是把向量里的值替换成None,可我需要的是实实在在地让向量的大小缩减,而不是留着占位符凑数。
以下是我的最小可复现示例(MRE):
use tokio::sync::mpsc; #[tokio::main] async fn main() { // 这里的业务逻辑不用在意,只是为了构建示例场景 let (tx1, mut rx) = mpsc::channel(100); let (tx2, _) = mpsc::channel(100); let (tx3, _) = mpsc::channel(100); let mut singers: Vec<(&str, mpsc::Sender<String>)> = vec![ ("Singer 1", tx1), ("Singer 2", tx2), ("Singer 3", tx3), ]; // 我的需求是:从这个向量里移出某个Sender实例,同时让singers的长度直接减少 // 比如移除第一个元素后,向量长度从3变成2,而不是用None填充位置 }
备注:内容来源于stack exchange,提问作者kesarling
相关产品推荐
相关产品推荐

