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

网站建设liluokj企业建站免费模板

网站建设liluokj,企业建站免费模板,做网站基本步骤,公司转让网站源码Rust 基础语法 变量,数据类型,注释,函数和控制流,这些是大部分编程语言都具有的编程概念。 本节将学习理解这些概念。 变量 Rust 是强类型语言,但具有自动判断变量类型的能力。这很容易让人与弱类型语言产生混淆。…

Rust 基础语法

变量,数据类型,注释,函数和控制流,这些是大部分编程语言都具有的编程概念。

本节将学习理解这些概念。

变量

Rust 是强类型语言,但具有自动判断变量类型的能力。这很容易让人与弱类型语言产生混淆。

声明变量时,需要使用 let 关键字。例如:

let a = 123;

在上面的声明语句之后,以下三行代码都是被禁止的:

a = "abc";
a = 4.56; 
a = 456;
  • 第1行的错误在于:当声明 a 是 123 以后,a 就被确定为整型数字,不能把字符串类型的值赋给它。

  • 第2行的错误在于:自动转换数字精度有损失,Rust 语言不允许精度有损失的自动数据类型转换。

  • 第3行的错误在于: a 不是个可变变量

“a 不是个可变变量”怎样理解呢?

这就牵扯到了 Rust 语言为了高并发安全而做的设计:在语言层面尽量少的让变量的值可以改变,所以 a 的值不可变。 a 是"变量"(英文中的 variable),官方文档称 a 这种变量为**“不可变变量”**。

Rust 语言设计这种机制的原因
如果我们编写的程序的一部分在假设值永远不会改变的情况下运行,我们代码的另一部分改变该值,那么代码的第一部分可能就不会按照设计的意图去运转。由于这种原因造成的错误很难在事后找到。

当然,使变量变得"可变"(mutable)只需一个 mut 关键字

let mut a = 123;//mut 关键字
a = 456;

常量与不可变变量的区别

既然不可变变量是不可变的,那不就是常量吗?为什么叫变量?

变量和常量还是有区别的。在 Rust 中,以下程序是合法的:

let a = 123;   // 可以编译,但可能有警告,因为该变量没有被使用
let a = 456;

但是如果 a 是常量就不合法:

const a: i32 = 123;
let a = 456;

变量的值可以"重新绑定",但在"重新绑定"以前不能私自被改变,这样可以确保在每一次"绑定"之后的区域内编译器可以充分的推理程序逻辑。 虽然 Rust 有自动判断类型的功能,但有些情况下声明类型更加方便:

let a: u64 = 123;

这里声明了 a 为无符号 64 位整型变量,如果没有声明类型,a 将自动被判断为有符号 32 位整型变量,这对于 a 的取值范围有很大的影响。

重影(Shadowing)

重影的概念与其他面向对象语言里的**“重写”(Override)"重载"(Overload)是不一样的。重影就是刚才讲述的所谓"重新绑定"**。

重影就是指变量的名称可以被重新使用的机制

实例

fn main() {let x = 5;let x = x + 1;let x = x * 2;println!("x = {}", x);
}

这段程序的运行结果:

x = 12

重影与可变变量的赋值的区别

重影与可变变量的赋值不是一个概念,重影是指用同一个名字重新代表另一个变量实体,其类型、可变属性和值都可以变化。但可变变量赋值仅能发生的变化。

let mut s = "123";
s = s.len();

这段程序会出错:不能给字符串变量赋整型值。
在这里插入图片描述

http://www.dt0577.cn/news/9913.html

相关文章:

  • 网站建设优化托管今日重大新闻事件
  • 什么网站比谷歌还好电商网站设计方案
  • 做推广网站的去哪能买到有效资料北京seo公司有哪些
  • 服务外包网站南京市网站seo整站优化
  • 网络工程师中级职称报考条件品牌seo推广咨询
  • 洮南做网站西安网络推广运营公司
  • 南京网站建设希丁哥免费个人网站服务器
  • 杨幂做的网站广告开发一个平台需要多少钱
  • 大新网站制作深圳网络推广哪家公司好
  • 做视频网站一般多少钱济宁百度推广公司
  • 公司网站建设升上去广告投放是做什么的
  • 深圳专业网站制作费用百度浏览器网址
  • 淄博做网站推广哪家好代运营公司排名
  • 在中国备案的网站服务器百度官网首页登录
  • 源创派网站建设win7怎么优化最流畅
  • 企业如何在工商网站上做公示万能软文范例800字
  • 吴江网站建设收费企业宣传册
  • 网站后台报表统计系统网络营销品牌策划
  • 有做彩票网站平台的吗浏览器下载安装2022最新版
  • 网站建设浏览器测试论文百度seo排名优化软件分类
  • 花生壳域名可以做网站域名吗网站优化快速排名软件
  • 用c 做的网站怎么打开广东深圳疫情最新情况
  • C 做的窗体怎么变成网站百度代运营推广
  • wordpress推送百度升级重庆专业seo
  • 大学生活动网站开发文案国外比较开放的社交软件
  • 卫生间做防水网站想学手艺在哪里可以培训
  • 重庆的网站建设公司泉州seo排名扣费
  • 做的好的营销型网站有哪些内容湖南 seo
  • 云购网站开发阿里云建站费用
  • 凤翔做网站今日国家新闻