Rust-值,变数,物件

不应将值,变数,物件混淆为一体

单词"值"表示抽象的数学概念,

例如值:"9527"是指数学9527的数学概念,在数学上"9527"只会有一个"9527"的数字

例如值:"hello, word!"从概念上也只会有一个

值可以存在电脑里的记忆体里,可以在记忆体的多个位置储存数字"9527",可以有两个不同位置都储放"9257"

在记忆体中包含值的部分称为物件,两个位於记忆体中不同位置的不同物件如果包含相同的内容则可以称为它们"相等"

在编译Rust时,生成可以执行的程序会包含具有存储位置和值的物件,这些物件没有名称
但是在程序码中会希望将名称与物件相关联,以便以後可以引用它们这个东西可以称为变数

例如

let num = 9527;
print!("{}", num);

输出9257

第一行表示:

  • 它在记忆中划出一个足够大的物件,以包含一个整数
  • 它以二进制格式将值"9527"储存在该物件中
  • 它将名称num与该物件做关联,以便之後在程序码中使用该名称num来指示这个物件

建立识别字 (Identifier) 的规则

变数名称又称为识别字。识别字原本在 Rust 程序中是没有意义的,透过宣告变数这项动作对特定识别字赋予关联。

Rust 的识别字采用以下规则:

  • 第一个字元为英文或底线 _
  • 第二个之後的字元为英文、数字或底线
  • 只有单一的底线 _ 不是变数

以下是合 Rust 规范的变数名称:

  • a
  • a1
  • a_var
  • aVar
  • _var

Rust建议使用蛇行(snake case)命名(例:a_var_snake_name)

而非驼峰(camel case)命名(例:aVarCamelName)

跟golang颠倒,没有好坏只要统一风格就好

Rust会对不符合其撰码风格的变数或函式名称发出警告讯息,但不会引发错误


<<:  Day5-容器通通塞这里 pod是啥

>>:  [区块链&DAPP介绍 Day5] Solidity 教学 - values types

DAY12-EXCEL统计分析:卡方检定实例

卡方检定 今天来实作单一常态母体变异数检定的题目。 假如一家面包店希望生产的蛋黄酥重量的变异数维持在...

Day22 - ArgoCD 建立应用程序

前言 前一天我们在 K8s Cluster 建置好了 ArgoCD 服务,今天就来实际操作看看,透过...

Unity自主学习(六):使用"Unity Installer"下载Unity

昨天我们因为安装失败,而改选择前往官网直接下载安装包 那麽我们将"Unity Instal...

Day23 - 【概念篇】Keycloak使用基本概念 - 第一部分: Realm

本系列文之後也会置於个人网站 Realm,中文或许会翻作「域」,但基本很像是程序开发上,语言层面提...

Day 11 运算宝石:EC2 储存资源 EBS Types 方案比较

今天我们要来介绍 EBS Type方案比较,那我们开始吧! 在之前的文章中我们有提过,EBS 相对...