假设我们有两个不同的包,比如说A和B。我在包A中有一个结构,如下所示:
type struct1 struct {
X int
Y int
}
在B包中,我想访问struct1(即A包)中的变量。我该怎么做?
答案 0 :(得分:1)
在Go中,如果类型以大写字母开头,则可以将其导出。例如,Struct1
可以从包外部导出并访问,但是struct1
不能导出,因为尚未导出。未导出的名称仅在该软件包内部可用。
您可以将包A导入到包B中,并以A.Struct1
的形式访问导出的类型:
package B
import (
"A"
"fmt"
)
func CreateAndPrintStruct() {
struct1 := A.Struct1{5, 4}
fmt.Printf("%+v", struct1)
}