当前位置: 首页 > news >正文

蚌埠网站制作哪家靠谱百度公司招聘条件

蚌埠网站制作哪家靠谱,百度公司招聘条件,网站怎么做微信送红包活动,wordpress修改邮件内容Rust中允许存在全局变量。它们一般有两种:常数和静态值。 常量 我们使用关键字 const 来创建常量。由于常量未使用关键字 let 声明,因此在创建它们时必须指定类型。常量只能进行简单赋值,并且没有固定的内存地址,无论它们在何处使…

Rust中允许存在全局变量。它们一般有两种:常数和静态值。

常量

        我们使用关键字 const 来创建常量。由于常量未使用关键字 let 声明,因此在创建它们时必须指定类型。常量只能进行简单赋值,并且没有固定的内存地址,无论它们在何处使用都会被内联。

        常量不能遮蔽,不能重复定义。也就是说,不存在内层或后面作用域定义的常量去遮蔽外层或前面定义的同名常量的情况。常量一旦定义后就永远不可变更和重新赋值。

const HEADER: u64 = 32;
fn main() {println!("{:?}", HEADER);
}

静态

        静态变量使用 static 关键字定义, 跟常量一样需要显式指明类型,静态变量的生命周期也是全局的,因为它具有固定的内存位置,并且在整个程序中作为单个(唯一)实例存在。

        静态变量并非被分配到栈中, 也不是在堆中, 而是和程序代码一起被存储于静态存储区中。 静态存储区是伴随着程序的二进制文件的生成(编译时) 被分配的, 并且在程序的整个运行期都会存在。

        静态变量默认同样不可修改,因此无法取得某个值的mut 引用。static 可以声明为 mut,但再访问它就是不安全的,需要使用unsafe。

static mut APPLE: u32 = 4;
static BANANA: u8 = 9;fn main() {unsafe {println!("APPLEis {}", APPLE);APPLE= 42;println!("APPLE is now {}", APPLE);println!("BANANAis {}", BANANA);}
}

对比

常量和静态变量非常相似,但它们之间存在一些微妙的区别:

        静态变量的值在内存中拥有固定的地址,使用它的值总是会访问到同样的数据。与之相反的是,常量则允许在任何被使用到的时候复制其数据。另外一个区别在于静态变量是可变的。需要注意的是,访问和修改可变的静态变量是不安全的 。

        如果你不需要依赖静态的单例属性及其预定义的内存位置,而只需要其具体值,那么应该更倾向于使用常量。它们允许编译器进行更好的优化,并且更易于使用。

lazy_static

        全局值只能在初始化时声明非动态的类型,并且在编译期,它在堆栈上的大小是已知的。例如,你不能将 HashMap 创建为静态值,因为它涉及堆分配。幸运的是,我们可以使用 HashMap 和其他动态集合类型(如 Vec)构造全局静态值,这是通过被称为lazy_static 的第三方软件包实现的。它暴露了 lazy_static!宏,可用于初始化任何能够从程序中的任何位置全局访问的动态类型。

use std::sync::Mutex;
lazy_static! {static ref ITEMS: Mutex<Vec<u64>> = {let mut v = vec![];v.push(9);v.push(2);v.push(1);Mutex::new(v)}
}

        使用 lazy_static!宏声明的元素需要实现 Sync 特征。这意味着如果某个静态值可变,那么必须使用诸如 Mutex 或 RwLock 这样的多线程类型。

        使用 lazy_static! 会在每次访问静态数据时造成微小的性能损失,因为其实现使用了为一次性初始化而设计的一个低级同步原语 std::sync::Once。在后台,每次访问懒静态数据,程序都要执行一次原子加载指令以检查初始化是否完成。

http://www.ds6.com.cn/news/110530.html

相关文章:

  • 珠海网站网站建设站长统计代码
  • 镇江网站建设找思创网络厦门百度seo排名
  • 深圳腾网站建设东莞网站建设优化推广
  • 如何取消危险网站提示seo优化教学视频
  • 个人电脑做网站打不开数据库今日国际新闻
  • 广东上海专业网站建设公司哪家好泰安seo排名
  • 重庆网站建设要点百度贴吧网页入口
  • 山东潍坊市奎文区疫情最新消息深圳优化公司义高粱seo
  • 企业公司信息网南宁百度seo优化
  • 苏州市智信建设职业培训学校网站搜索点击软件
  • 动态网站建设包括哪些内容香港旺道旺国际集团
  • 网站开发工作佛山网站建设方案咨询
  • 顶呱呱网站建设是外包的吗网络营销师报考条件
  • 武汉做网站推广哪家好整站优化加盟
  • phpcms获取网站名称百度会员登录入口
  • 网站分析模板怎样做推广是免费的
  • 奶茶微网站建设网上电商平台开发
  • 手机网站发展2020十大网络热词
  • 深圳网站制作企业邮箱网络推广方法怎么样
  • 关于校园网站建设的通知企业网站建设报价
  • 网站建站建设的公司磁力狗在线引擎
  • 网站开发 怎么才能发表情青岛seo公司
  • 重庆网站制作公司商铺营销推广方案
  • 轻量应用服务器可以做网站吗今日最新抗疫数据
  • 动态网站开发教材广东seo推广方案
  • 做国际黄金的网站陕西百度推广的代理商
  • 网站中的二级菜单怎么做23seo外链软件
  • 唐山中企动力做网站如何优化关键词搜索排名
  • 做外贸没有网站可以吗微信搜索seo优化
  • 网站怎么做推广和优化线上推广的好处