rust(二) 变量及类型

rust变量

rust默认变量是不可变的,通过加mut设置变量可变

fn main() {
    let _immutable_variable = 1i;
    let mut mutable_variable = 1i;

    println!("Before mutation: {}", mutable_variable);

    // Ok
    mutable_variable += 1;

    println!("After mutation: {}", mutable_variable);

    // Error!
    _immutable_variable += 1;
    // FIXME ^ Comment out this line
}

变量具有局部作用域,被限制在所属的代码块内

fn main() {
    let a = 1;
    {
        let b = 2;
        println!("{}", b); // 2
        println!("{}", a); // 1
        let a = 3;
        println!("{}", a);// 3
    }
    println!("{}", a); // 1
    println!("{}", b);//编译不通过,b不在此作用域
}

rust类型

rust语言内置的类型:

  • 有符号正数:i8, i16, i32, i64int(机器字长)
  • 无符号正数:u8, u16, u32, u64uint (机器字长)
  • 浮点数:f32, f64
  • char Unicode字符 (Scalars) 例如 'a' (4字长)
  • bool 逻辑类型,取值为 truefalse
  • 空元组类型 (), 其唯一值也是 ()

类型转换

rust不提供基础类型之间的隐式类型转换,只能使用as关键字显式转换类型

let decimal = 65.4321;
let integer = decimal as u8;

表达式

rust里面几乎所有语句都是表达式,也就是具有值。
代码块也是表达式,可以做为赋值语句中的右值。代码块的最后一条表达式的值,将作为该代码块的值,被赋值给左值。但是,如果代码块的最后一条语句以分号;结尾,其值将是(),也就没有值。


if和else

if-else语句也是表达式,每个分支必须返回相同的类型,以确保类型安全。

转载于:https://www.cnblogs.com/ahhg/p/5439398.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值