前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >10.rust-常量

10.rust-常量

原创
作者头像
面向加薪学习
修改2022-09-04 11:35:57
2620
修改2022-09-04 11:35:57
举报
文章被收录于专栏:面向加薪学习

常量 就是那些值不能被改变的变量。定义后,再也没有任何方法可以改变常量的值。

  • const:不可改变的值(通常使用这种)。
  • static:具有 'static 生命周期的,可以是可变的变量(须使用 static mut 关键字)。

有个特例就是 "string" 字面量。它可以不经改动就被赋给一个 static 变量,因为它 的类型标记:&'static str 就包含了所要求的生命周期 'static。其他的引用类型都 必须特地声明,使之拥有'static 生命周期。

常量定义

代码语言:txt
复制
const 常量名称:数据类型=值;
  1. 使用 const 关键字定义常量。
  2. 定义常量时必须指定数据类型。
  3. 常量名称的命名规则和之前变量的命名规则一样,但常量名称一般都是 大写字母
代码语言:txt
复制
fn main() {
    const PI:f64=3.1415926;
    println!("{}",PI);//输出 3.1415926
}

常量 可以在任意作用域里定义,包括全局作用域。也就是可以在任何地方定义。常量 只是一个符号,会在 编译时 替换为具体的值。

变量的隐藏

Rust 语言中允许重复定义一个相同变量名的变量。规则是 后面定义的变量会隐藏 前面定义的同名变量。

代码语言:txt
复制
    let name ="《Go语言极简一本通》";
    let name="《从0到Go语言微服务架构师》";
    println!("{}",name); //输出 《从0到Go语言微服务架构师》

我们定义了两个同名的变量 name,第一次赋值 《Go语言极简一本通》 ,第二次 赋值为《从0到Go语言微服务架构师》。第二个 name 隐藏了第一次定义的变量。

隐藏变量后并且改变了数据类型

下面的例子:

代码语言:txt
复制
 let price=199;
 let price="299";
 println!("{}",price);//输出 299

同名常量

Rust 中,常量不能被隐藏,也不能被重复定义

代码语言:txt
复制
const DISCOUNT:f64=0.8;
const DISCOUNT:f64=0.6;

编辑器报错
A value named `DISCOUNT` has already been defined in this block [E0428]

static

代码语言:txt
复制
    static BOOK: &'static str = "《Go语言极简一本通》";

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 常量定义
  • 变量的隐藏
  • 隐藏变量后并且改变了数据类型
  • 同名常量
  • static
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档