陣列型別

在 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]