In Go, is there any way to access private fields of a struct from another package?
问题 I have a struct in one package that has private fields: package foo type Foo struct { x int y *Foo } And another package (for example, a white-box testing package) needs access to them: package bar import "../foo" func change_foo(f *Foo) { f.y = nil } Is there a way to declare bar to be a sort of "friend" package or any other way to be able to access foo.Foo 's private members from bar , but still keep them private for all other packages (perhaps something in unsafe )? 回答1: There is a way to