在 Go 结构体中封装私有字段和方法
在 Go 中,结构体中字段和方法的可见性由第一个控制他们名字的字符。以大写字母开头的字段和方法从包中导出,可以通过外部代码访问。相反,以小写字母开头的那些对于包来说是私有的。
要限制对结构中某些字段和方法的访问,您可以将结构及其成员函数放置在单独的包中。这样,只有包中定义的类型才能访问私有成员。
例如,在提供的示例中,您可以为 mytype 结构创建一个新包:
// mytype.go // Define the mytype struct with private fields and methods. package mytype type mytype struct { size string hash uint32 } func (r *mytype) doPrivate() string { return r.size }
只要 mytype 包不导入任何其他包,字段 size 和 hash 以及方法 doPrivate 将保持为 mytype 私有,并且无法从包外部访问。
以上是如何在 Go 结构中将字段和方法设为私有?的详细内容。更多信息请关注PHP中文网其他相关文章!