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

惠山做网站公司新闻头条最新消息

惠山做网站公司,新闻头条最新消息,北太平庄网站建设,百度网址大全手机浏览器变量,基本类型,函数,注释和控制流,这些几乎是每种编程语言都具有的编程概念。 这些基础概念将存在于每个 Rust 程序中,及早学习它们将使你以最快的速度学习 Rust 的使用。 变量 首先必须说明,Rust 是强类…

变量,基本类型,函数,注释和控制流,这些几乎是每种编程语言都具有的编程概念。

这些基础概念将存在于每个 Rust 程序中,及早学习它们将使你以最快的速度学习 Rust 的使用。

变量

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

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

let a = 123;

只学习过 JavaScript 的开发者对这句话很敏感,只学习过 C 语言的开发者对这句话很不理解。

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

a = "abc";
a = 4.56; 
a = 456;

第一行的错误在于当声明 a 是 123 以后,a 就被确定为整型数字,不能把字符串类型的值赋给它。

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

第三行的错误在于 a 不是个可变变量。

前两种错误很容易理解,但第三个是什么意思?难道 a 不是个变量吗?

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

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

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

let mut a = 123;
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!("The value of x is: {}", x);
}

这段程序的运行结果:

The value of x is: 12

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

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

这段程序会出错:不能给字符串变量赋整型值。

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

相关文章:

  • 做网站要什么资质网页设计大作业
  • wordpress修改文章发表日期颜色重庆百度seo整站优化
  • 网站开发包括网站的 等过程站长推广网
  • 北京网站制作网站网络营销的主要工作有哪些
  • 如何做网站站长网站优化团队
  • wordpress支持多站点qianhu微建站
  • 网站备案后怎么做实名认证任何东西都能搜出来的软件
  • 平凉市政府门户网站线上营销渠道
  • 深圳网站关键词优化公司百度推广关键词规划师
  • 安溪网站建设做网站公司哪家比较好
  • 合肥做网站公司哪家好seo网站营销推广
  • 网站模板做网站seo关键字优化技巧
  • 网站制作出租广告平台网
  • 青岛科技街网站建设网站seo推广招聘
  • 有什么做数据的网站怎么在广告联盟接广告
  • 免费下载网站模板seo服务包括哪些
  • 网站自己建设app推广接单
  • 厦门专业建站系统制作公司北京seo服务销售
  • 珠市口网站建设苹果aso优化
  • 网站建设英文方案免费观看行情软件网站进入
  • 做网站 除了域名营销类网站
  • 梅州市建设局网站小红书推广怎么收费
  • 优书网没了阜平网站seo
  • 新开传奇网站sf123怎么做网站广告
  • 纯flash网站下载关键词代发排名推广
  • 阿里云个人网站备案做淘客如何找外链资源
  • 图片站手机网站怎么做的杭州网站排名提升
  • 网站首页置顶是怎么做软文写作实训总结
  • 好用的在线设计网站宁波seo关键词培训
  • vue做网站cms申京效率值联盟第一