发布于 2015-07-16 14:10:59 | 319 次阅读 | 评论: 0 | 来源: 网络整理

Rust常量

Rust有两种不同类型,可以在任何范围内,包括全局声明的常量。这都需要显式类型注解声明:

  • const: 一个不可改变值(通常情况下)。
  • static: 有一个可能是可变的变量 'static 使用寿命。

一个特殊情况是 "string" 常量. 它可以直接被分配到一个 static 变量不需要修改,因为它的类型签名: &'static str 具有所要求的使用寿命为 'static. 所有其他类型的引用必须特别注明,以便它们完成 'static 使用寿命. 这看似微小,但因为需要明确标注隐藏以区别。


// Globals are declared outside all other scopes.
static LANGUAGE: &'static str = "Rust";
const  THRESHOLD: i32 = 10;

fn is_big(n: i32) -> bool {
    // Access constant in some function
    n > THRESHOLD
}

fn main() {
    let n = 16;

    // Access constant in the main thread
    println!("This is {}", LANGUAGE);
    println!("The threshold is {}", THRESHOLD);
    println!("{} is {}", n, if is_big(n) { "big" } else { "small" });

    // Error! Cannot modify a `const`.
    THRESHOLD = 5;
    // FIXME ^ Comment out this line
}

另请参见:

 const/static RFC'static 使用寿命

最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务