1 为什么当我在函数中定义一个变量及其类型时一切都很好,但是当它是一个全局变量时我会得到错误? 例如:
n::Int8 = 3
ERROR: LoadError: UndefVarError: n not defined
2 为什么当我做一些简单的操作时,变量类型会发生变化?例子:
julia> function main()
n::Int8 = 5
c = collect(1:n)
println(c)
println(typeof(c))
end
main (generic function with 1 method)
julia> main()
[1,2,3,4,5]
Array{Int64,1}
julia> n = zero(Int8)
0
julia> typeof(ans)
Int8
julia> n += 5
5
julia> typeof(ans)
Int64
3 如何维护变量初始类型?
答案 0 :(得分:2)
目前(Julia 0.4),问题1&在Julia手册中this statement回答了2:
目前,类型声明不能在全局范围内使用,例如在REPL中,因为Julia还没有常量型全局变量。
正如评论中所讨论的,#3有几种选择。