如何将结构传递给另一个包?

Pet*_*ter 1 go

这是我正在尝试做的一个非常淡化的版本,但请帮助我以下场景:

PackageA.go

package A

import "B"

type TestStruct struct {
  Atest string
}

func Test() {
  test := TestStruct{"Hello World"}
  B.Test(test)
}
Run Code Online (Sandbox Code Playgroud)

PackageB.go

package B

import "fmt"

func Test(test TestStruct) {
  fmt.Println(test.Atest)
}
Run Code Online (Sandbox Code Playgroud)

undefined: test当它击中包B时失败

基本上我遇到的问题是将结构从一个包传递到另一个包,或者甚至传递作为指向其他结构或函数的指针的变量.

任何指针都会非常有用.

pet*_*rSO 6

将您的代码重新组织为:

package a

import "b"

func Test() {
    test := b.TestStruct{"Hello World"}
    b.Test(test)
}
Run Code Online (Sandbox Code Playgroud)

b.go

package b

import "fmt"

type TestStruct struct {
    Atest string
}

func Test(test TestStruct) {
    fmt.Println(test.Atest)
}
Run Code Online (Sandbox Code Playgroud)