Golang能见度模式
在Golang中,可见度模式通常指的是导出(公开访问)和非导出(私有访问)标识符的概念。在Golang中,通过大小写来控制可见度。
- 导出(公开访问)的标识符:
- 函数名:首字母大写,如
NewPerson
- 结构体名:首字母大写,如
Person
- 结构体或接口中的字段名:首字母大写,如
Name
和Age
- 非导出(私有访问)的标识符:
- 函数名:首字母小写,如
newPerson
- 结构体名:首字母小写,如
person
- 结构体或接口中的字段名:首字母小写,如
name
和age
示例代码:
package mypackage
// 公开的结构体
type Person struct {
Name string // 公开字段
Age int // 公开字段
}
// 公开的函数
func NewPerson(name string, age int) *Person {
return &Person{
Name: name,
Age: age,
}
}
// 私有的结构体
type person struct {
email string // 私有字段
}
// 私有的函数
func newPerson(email string) *person {
return &person{
email: email,
}
}
在上述代码中,Person
和NewPerson
是公开的,它们的名字首字母都是大写,可以被其他包访问和使用。而person
和newPerson
是私有的,它们的名字首字母是小写,只能在定义它们的包内部使用。其他包无法直接访问这些私有标识符。
评论已关闭