Gibt es in Go eine Möglichkeit, von einem anderen Paket aus auf private Felder einer Struktur zuzugreifen?
Ich habe eine Struktur in einem Paket, das private Felder hat:
package foo
type Foo struct {
x int
y *Foo
}
Und ein anderes Paket (zum Beispiel ein White-Box-Testpaket) benötigt Zugriff darauf:
package bar
import "../foo"
func change_foo(f *Foo) {
f.y = nil
}
Gibt es eine Möglichkeit zu deklarierenbar
um eine Art "Freund" -Paket zu sein oder auf andere Weise zugreifen zu könnenfoo.Foo
Private Mitglieder vonbar
, aber behalten Sie sie für alle anderen Pakete (vielleicht etwas inunsafe
)?