rust iterator(todo)

 为什么调用count就会移动了?

use std::env;

fn main() -> std::io::Result<()> {
    let mut param = env::args();

    let paramCount = param.count();
    println!("count ={}", paramCount);

    let a = param.next();
    println!("a = {:?}", a);
}

6   |     let mut param = env::args();
    |         --------- move occurs because `param` has type `Args`, which does not implement the `Copy` trait
7   | 
8   |     let paramCount = param.count();
    |                            ------- `param` moved due to this method call
...
11  |     let a = param.next();
    |             ^^^^^ value borrowed here after move
    |
note: this function takes ownership of the receiver `self`, which moves `param`
   --> /root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:203:14
    |
203 |     fn count(self) -> usize
    |              ^^^^

For more information about this error, try `rustc --explain E0382`.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大怀特

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值