Czy w Go istnieje jakiś sposób na dostęp do prywatnych pól struktury z innego pakietu?
Mam strukturę w jednym pakiecie, który ma pola prywatne:
package foo
type Foo struct {
x int
y *Foo
}
I kolejny pakiet (na przykład pakiet testowy z białym pudełkiem) wymaga dostępu do nich:
package bar
import "../foo"
func change_foo(f *Foo) {
f.y = nil
}
Czy istnieje sposób na zadeklarowaniebar
być pewnego rodzaju „przyjacielskim” pakietem lub jakimkolwiek innym sposobem na uzyskanie dostępufoo.Foo
prywatni członkowie odbar
, ale nadal zachowaj je dla wszystkich innych pakietów (być może coś wunsafe
)?