В 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)?

Ответы на вопрос(2)

Ваш ответ на вопрос