相关疑难解决方法(0)

在Go中,有没有办法从另一个包访问结构的私有字段?

我在一个包含私有字段的结构中有一个结构:

package foo

type Foo struct {
    x int
    y *Foo
}
Run Code Online (Sandbox Code Playgroud)

另一个包(例如,白盒测试包)需要访问它们:

package bar

import "../foo"

func change_foo(f *Foo) {
    f.y = nil
}
Run Code Online (Sandbox Code Playgroud)

有没有办法声明bar是一种"朋友"包或任何其他方式,以便能够访问其foo.Foo私人成员bar,但仍然保持私有所有其他包(可能是某些东西unsafe)?

private friend package go

25
推荐指数
1
解决办法
1万
查看次数

标签 统计

friend ×1

go ×1

package ×1

private ×1