package inner
type inner struct {
I int
}
func New() inner {
return inner{I: 1}
}
package outter
import (
"testing"
)
func TestGet(t *testing.T) {
i := inner.New()
t.Log(i.I)
}
inner 是小写,理论上不应该被外部能访问,但是通过一个大写的函数,却把它暴露出来了。今天第一次看到这个写法,有点惊讶。
之前我一般都是下面两种写法:
package inner
type Inner interface {
Get() int
}
type inner struct {
i int
}
func (i *inner) Get() int {
return i.i
}
func New() Inner {
return &inner{i: 1}
}
package inner
type Inner struct {
I int
}
func New() Inner {
return Inner{I: 1}
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.