在C ++的强大背景之后,我刚刚开始在Julia工作。我有一个问题,我的整数变量被重置为我在我的程序开始时初始化它们。即使我更改了函数内的变量值。任何人都可以解释为什么会这样吗?
num = 0
function getNum()
num = 1
end
getNum()
num #this returns 0, not 1
这是一个问题,因为我需要在另一个函数中引用该变量。
答案 0 :(得分:2)
num
位于global scope中(请注意,相同的行为适用于例如Python)
如有必要,您可以通过引用全局来修改它:
function getNum()
global num = 1
end
但是,值得考虑是否有更有效的方法来构建代码。全局变量在某些情况下可能很有用,但它们也会使代码更难以推理。