237-rust入门2 - 函数与循环

rust里面的可变变量是固定类型的

比如

fn main() {
    let mut a = 1;
    println!("a={}", a);
    a = 2;
    println!("a={}", a);

    let mut b = "123";
    println!("b={}", b);
    b = 3;
    println!("b={}", b);
}

a这样改是没问题的,因为是同一个类型

b这样改是不行的,因为刚开始是&str,后面是数字,不行

fn main() {
    let mut a = 1;
    println!("a={}", a);
    a = 2;
    println!("a={}", a);

    let mut b = "123";
    println!("b={}", b);
    b = "abc";
    println!("b={}", b);
}

这样是可以的,前后都是&str

fn main() {
    let a = "abc";
    println!("a: {}", a);
    let a = a.len();
    println!("a: {}", a);

}

这样是可以的

这里并不是2个a,而是shadow

然后来说一下函数

fn main() {
    let a = plus_five(10);
    println!("{}", a);
}

fn plus_five(a: i32) -> i32 {
    a + 5;
}

fn plus_five(a: i32) -> i32 {
    a + 5
}

如果是返回值,后面不能加分号
因为加了分号,就是一个语句了
不加分号,就是返回值的表达式

然后来试一下循环

rust里面有3种循环,loop,while,for

先来看看loop

fn main() {
    let mut a = 0;

    loop {
        if a >= 10 {
            break;
        }

        a += 1;
        println!("{}", a);
    }
}

然后来看下while

fn main() {
    let mut a = 0;

    while a < 10 {
        a += 1;
        println!("{}", a);
    }
}

然后来看下for

fn main() {
    let arr=[1,2,3,4,5,6,7,8,9,10];
    for item in arr.iter() {
        println!("{} ", item);
    }
}

再来看下range

fn main() {
    for item in 1..11 {
        println!("{}", item);
    }
}

再来看下range的rev
 

fn main() {
    for item in (1..11).rev() {
        println!("{}", item);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值