Вы можете использовать:
julia> eval(Symbol("UInt64"))
UInt64
Обратите внимание, однако, что в целом использование eval
не является лучшей идеей в производственном коде (особенно, если строка генерируется динамически). Конечно - учитывая ваш вопрос - это то, что вы должны сделать, но если вы хотите быть в большей безопасности, я бы, например, используйте Dict
, предоставляя сопоставления, которые вам требуются, например, только для:
julia> s = string.(subtypes(Signed))
6-element Array{String,1}:
"BigInt"
"Int128"
"Int16"
"Int32"
"Int64"
"Int8"
julia> t = subtypes(Signed)
6-element Array{Any,1}:
BigInt
Int128
Int16
Int32
Int64
Int8
julia> s = string.(t)
6-element Array{String,1}:
"BigInt"
"Int128"
"Int16"
"Int32"
"Int64"
"Int8"
julia> m = Dict(Pair(x...) for x in zip(s, t))
Dict{String,DataType} with 6 entries:
"Int16" => Int16
"Int64" => Int64
"BigInt" => BigInt
"Int8" => Int8
"Int128" => Int128
"Int32" => Int32
julia> m["Int32"]
Int32