假设F
包A
中有一个函数,我正在创建的一些代码需要调用。我怎么称呼它?
如果我从外部包调用它A
,那么我使用A.F(...)
,如果我在里面,A
我使用F(...)
. 但是,如果墨菲阻止我知道哪个是真的,或者两者都需要一个字节相同的行工作怎么办?
[注意:我认为这种情况会发生,因为根据我的经验和观察,这通常是一个安全的假设。即使没有技术原因,PHB和立法者也是荒谬的良好来源。]
假设F
包A
中有一个函数,我正在创建的一些代码需要调用。我怎么称呼它?
如果我从外部包调用它A
,那么我使用A.F(...)
,如果我在里面,A
我使用F(...)
. 但是,如果墨菲阻止我知道哪个是真的,或者两者都需要一个字节相同的行工作怎么办?
[注意:我认为这种情况会发生,因为根据我的经验和观察,这通常是一个安全的假设。即使没有技术原因,PHB和立法者也是荒谬的良好来源。]
没有这样的语法。请注意以下事项:
S
用pkg.S
语法引用它的符号之一,因为它不能自己导入。即使你解决了这个问题,也要注意包在导入后可以被赋予任意名称。例如,您可以这样做:
import bar "foo"
与预期相反的是S
从包"foo"
中导入。bar.S
foo.S
可以使用以下方法来解决此问题:
"foo"
中,创建一个内部对象foo
,其成员是符号foo
导出。这允许您使用foo.S
语法foo
本身,但这是一个可怕的组合。使用类似的导入声明
import . "foo"
它允许您使用S
包中的符号"foo"
as S
,i。e. 没有前缀。请注意,这种称为点导入的导入声明被认为是不好的样式,如果您声明的符号集/您导入的包声明更改,则可能会破坏事情。