这是我正在尝试做的一个非常淡化的版本,但请帮我解决以下问题:
PackageA.go
package A
import "B"
type TestStruct struct {
Atest string
}
func Test() {
test := TestStruct{"Hello World"}
B.Test(test)
}
PackageB.go
package B
import "fmt"
func Test(test TestStruct) {
fmt.Println(test.Atest)
}
当它遇到程序包B时,undefined: test
失败
基本上我遇到的问题是将结构从一个包传递到另一个包,或者甚至传递作为指向其他结构或函数的指针的变量。
任何指针都会非常有用。
答案 0 :(得分:6)
将您的代码重新整理为:
a.go
package a
import "b"
func Test() {
test := b.TestStruct{"Hello World"}
b.Test(test)
}
b.go
package b
import "fmt"
type TestStruct struct {
Atest string
}
func Test(test TestStruct) {
fmt.Println(test.Atest)
}