julialang 模块使用的迷惑

2020-11-30  本文已影响0人  昵称违法

一、一个模块中的global变量,它是不是能被外面直接访问,如何修改一个模块中变量的值?

测试代码

#模块测试
module A
global a = 123
function set_a(value)
    global a = value
end
end #module A
a
A.a
A.set_a(789)
A.a
A.a = 456

测试结果

模块的global值

结论:
1、在不使用using,import,以及包名的情况下,无法访问包中的变量。

二、使用export关键字,可以把包中的方法和变量暴露出来,不需要包名,即可直接访问?

image.png

包中的变量a,在包外直接用a来访问,需要设置在包里export a,包外需要using该包 或者 impor该t包

image.png

你依旧不能直接修改包A中暴露出来的变量a,请用set_a()来修改
测试代码

**模块测试**
module A
export set_a,a
global a = 123
function set_a(value)
    global a = value
end
end #module A

using .A
a
set_a(456)
a
a = 666

测试结果

image.png
上一篇下一篇

猜你喜欢

热点阅读