数组类型

在 Julia 中,Arrays 的类型由两个变量参数化:类型 T 和维度 DArray{T, D})。对于 1 维整数数组,类型为:

julia> x = [1, 2, 3];
julia> typeof(x)
Array{Int64, 1}

如果数组是二维矩阵,则 D 等于 2:

julia> x = [1 2 3; 4 5 6; 7 8 9]
julia> typeof(x)
Array{Int64, 2}

元素类型也可以是抽象类型:

julia> x = [1 2 3; 4 5 "6"; 7 8 9]
3x3 Array{Any,2}:
 1  2  3   
 4  5 "6"
 7  8  9

这里 Any(抽象类型)是结果数组的类型。

创建数组时指定类型

当我们以上述方式创建数组时,Julia 将尽力推断出我们可能需要的正确类型。在上面的初始示例中,我们输入了看起来像整数的输入,因此 Julia 默认为默认的 Int64 类型。但是,有时我们可能希望更具体。在下面的示例中,我们指定我们希望类型为 Int8

x1 = Int8[1 2 3; 4 5 6; 7 8 9]
`typeof(x1)`  ## Array{Int8,2}

我们甚至可以将类型指定为 Float64 之类的东西,即使我们以一种默认情况下可能被解释为整数的方式编写输入(例如,写 1 而不是 1.0)。例如

x2 = Float64[1 2 3; 4 5 6; 7 8 9]