1. 结构体(Struct)
在Golang中,结构体是一种用户自定义的复合数据类型,用于组合不同类型的字段。结构体使用type
关键字定义,可以包含任意数量的字段。下面是一个结构体的示例:
type Person struct {
Name string
Age int
}
上述代码定义了一个名为Person
的结构体,它有两个字段:Name
和Age
。
2. 封装(Encapsulation)
封装是一种面向对象编程的原则,用于隐藏对象内部的实现细节,只暴露必要的接口供外部访问。在Golang中,封装通过字段和方法的可访问性来实现。默认情况下,结构体字段和方法是对外可见的,但通过使用大写字母开头的标识符,可以实现对外部的封装。
type Person struct {
name string // 私有字段
age int // 私有字段
}
func (p *Person) SetName(name string) {
p.name = name
}
func (p *Person) GetName() string {
return p.name
}
上述代码中,name
和age
字段使用小写字母开头,表示私有字段。SetName()
和GetName()
方法是公共方法,可以通过它们来设置和获取私有字段。