类型别名,还是很重要的,有时可以更方便表达数据结构。比如 :
data_fetch::Dict{String,Dict{Tuple{Int64,String},Array{String,1}}}
如果能够简化一点的话,会更方便一些,如下:
data_fetch::Dict{String,Dict{MyDataType,Array{String,1}}}
在很多语言中,有都很方便的类型别名,Julia也有,但用法有一点不一样。直接上const,而不是type .
julia> const AB = Array{String,1}
Array{String,1}
julia> AB[]
Array{String,1}[]
Julia的const之前,不能覆盖。必须此前没有赋过值。
julia> CC =0
0
julia> const CC = Tuple{String,String}
ERROR: cannot declare CC constant; it already has a value
Stacktrace:
[1] top-level scope at REPL[48]:1
julia> const DD = Tuple{String,String}
Tuple{String,String}
julia> const EE = Dict{String,String}
Dict{String,String}
julia> EE()
Dict{String,String}()
julia> import CSV: read as rd
julia> import BenchmarkTools as BT
as works with using only when a single identifier is brought into scope. For example using CSV: read as rd works, but using CSV as C does not, since it operates on all of the exported names in CSV.
using CSV: read as rd #ok
using CSV as C #error