В Go есть ли способ получить доступ к закрытым полям структуры из другого пакета?
У меня есть структура в одном пакете, который имеет частные поля:
package foo
type Foo struct {
x int
y *Foo
}
И другой пакет (например, пакет тестирования белого ящика) нуждается в доступе к ним:
package bar
import "../foo"
func change_foo(f *Foo) {
f.y = nil
}
Есть ли способ заявитьbar
быть своего рода "другом" пакетом или любым другим способом, чтобы иметь возможность доступаfoo.Foo
Личные участники изbar
, но все же держите их закрытыми для всех других пакетов (возможно, что-то вunsafe
)?