首页  >  文章  >  后端开发  >  如何在 Go 结构中将字段和方法设为私有?

如何在 Go 结构中将字段和方法设为私有?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-16 19:23:03215浏览

How can I make fields and methods private within a Go struct?

在 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn