陣列型別
在 Julia 中,Arrays 的型別由兩個變數引數化:型別 T
和維度 D
(Array{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]