3 回答
TA贡献2036条经验 获得超8个赞
您是否正在尝试做这样的事情,例如,特定位置(美国)(如果存在)覆盖一般位置(世界)?
// file A/B.go
package B
var location = "USA"
func Location() string {
return location
}
// file A.go
package A
import "A/B"
var location = "World"
func Location() string {
loc := B.Location()
if len(loc) == 0 {
loc = location
}
return loc
}
// file main.go
package main
import (
"A"
"fmt"
)
func main() {
fmt.Println("Hello,", A.Location())
}
输出:
Hello, USA
如果没有,请提供一个更好、更具体的示例来说明您正在尝试做什么。
TA贡献1802条经验 获得超5个赞
在这种情况下,我不确定您所说的“覆盖”是什么意思。(另外让我假设 file1.go 是“包 a”而 file2.go 是“包 b”)
如果您要访问Arg1,在包“b”内/从包“a”中定义,则例如:
// In package "a"
x = Arg1 // references a.Arg1
y = b.Arg1 // references b.Arg1
但是,这里没有发生类似覆盖的事情。在包“a”中,aArg1和 bArg1都可以作为不同的实体访问;后者通过强制限定符“b”。
- 3 回答
- 0 关注
- 247 浏览
添加回答
举报