码迷,mamicode.com
首页 > 其他好文 > 详细

Rust 每日千行之旅<1>:变量、可变性、常量、隐藏

时间:2017-10-31 20:40:16      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:无法   类型   推导   允许   code   隐藏   指定   span   1.0   

rust 是强类型语言,所有变量、常量都必须有明确的数据类型;很多情况下,省略类型声明,编译器可自动推导,但不是所有情况下都会成功。

 

一、rust 中的变量值默认是不允许改变的,即不可二次斌值,如下代码无法通过编译,需要在变量前添加 mut 标识

fn main() {
    let zVar: i64 = 0;    // let mut zVar: i64 = 0;
    zVar = 1;
    println!("{}", zVar);
}

二、rust 中可以连续定义同名变量,新的变量将覆盖旧的变量,且前后的变量类型可以不一致:即 shadowing 特性。

fn main() {
    let zvar: i32 = 0;
    let zvar: i32 = zvar + 1;
    let zvar: i32 = zvar * 2;
    let zvar: &str = "Hello World!";
    let zvar = zvar.len();

    println!("{}", zvar);
}

三、rust 中常量定义必须显示指明数据类型,同一作用域内不可重名,局部定义覆盖全局定义。

const GLOB_NUM: f64 = 0.0;    // 右值必须符合左值声明的数据类型,如指定 f64,但右值赋值为 1,则无法通过编译。

fn main() {
    let zvar: i32 = 0;
    let zvar: i32 = zvar + 1;
    let zvar: i32 = zvar * 2;
    let zvar: &str = "Hello World!";
    let zvar = zvar.len();

    const GLOB_NUM: f64 = 1.0;

    println!("{} {}", zvar, GLOB_NUM);
}

____

Rust 每日千行之旅<1>:变量、可变性、常量、隐藏

标签:无法   类型   推导   允许   code   隐藏   指定   span   1.0   

原文地址:http://www.cnblogs.com/hadex/p/7763481.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!