第 3 章 变量与常量

Julia 是一种可选类型化的编程语言。Julia 代码中的任何值都是有类型的。而一个区别在于,一个值的类型是由我们显式指定的,还是由 Julia 在自行推断之后附加上的。例如:

  1. julia> typeof(2020)
  2. Int64
  3. julia>

我调用了一个名为typeof的函数,并把2020作为参数值传给了它。2020本身是一个代表了整数值的字面量(literal)。虽然我没有明确指定这个值是什么类型的,但是 Julia 却可以推断出来。经过推断,Julia 认为它的类型是Int64——一个宽度为 64 个比特(bit)的有符号的整数类型。Int64本身是一个代表了类型的标识符,也可以称之为类型字面量。在一个 64 位的计算机系统当中,Julia 程序中的整数值的默认类型就是Int64。如果你使用的是 32 位的计算机系统,那么这里回显的内容就应该是Int32

我们在做运算的时候,不太可能只使用值本身去参与运算。因为总有一些中间结果需要被保存下来。就算我们使用计算器去做一些稍微复杂一点的算术运算,肯定也是如此。对于计算机系统而言,那些中间结果可以被暂存到某个内存地址上。当需要它的时候,我们再去这个地址上去取。

内存地址记忆起来会比较困难。所以,一个更好的方式是,使用一个代号(或者说标识符)去代表某个中间结果。或者说,把一个标识符与一个值绑定在一起,当我们输入这个标识符的时候就相当于输入了这个值。这种可变的绑定关系就被称为变量。这个标识符就被称为变量名。

图 3-1 标识符与值 图 3-1 标识符与值