常量 就是那些值不能被改变的变量。定义后,再也没有任何方法可以改变常量的值。
有个特例就是 "string" 字面量。它可以不经改动就被赋给一个 static 变量,因为它 的类型标记:&'static str 就包含了所要求的生命周期 'static。其他的引用类型都 必须特地声明,使之拥有'static 生命周期。
const 常量名称:数据类型=值;
fn main() {
const PI:f64=3.1415926;
println!("{}",PI);//输出 3.1415926
}
常量 可以在任意作用域里定义,包括全局作用域。也就是可以在任何地方定义。常量 只是一个符号,会在 编译时 替换为具体的值。
Rust 语言中允许重复定义一个相同变量名的变量。规则是 后面定义的变量会隐藏 前面定义的同名变量。
let name ="《Go语言极简一本通》";
let name="《从0到Go语言微服务架构师》";
println!("{}",name); //输出 《从0到Go语言微服务架构师》
我们定义了两个同名的变量 name
,第一次赋值 《Go语言极简一本通》
,第二次 赋值为《从0到Go语言微服务架构师》
。第二个 name
隐藏了第一次定义的变量。
下面的例子:
let price=199;
let price="299";
println!("{}",price);//输出 299
Rust 中,常量不能被隐藏,也不能被重复定义。
const DISCOUNT:f64=0.8;
const DISCOUNT:f64=0.6;
编辑器报错
A value named `DISCOUNT` has already been defined in this block [E0428]
static BOOK: &'static str = "《Go语言极简一本通》";
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。