如何定义 Golang 中具有私有字段的类?

在 go 中,私有字段以首字母小写表示,可通过公有 getter 和 setter 方法访问。1. 创建具有私有字段的类,将字段声明为首字母小写。2. 使用 get 和 set 方法访问私有字段,这些方法以 get 和 set 为前缀,后面跟私有字段的名称。3. getter 方法用于获取私有字段的值,而 setter 方法用于修改私有字段的值。

如何定义 Golang 中具有私有字段的类?

如何定义 Golang 中具有私有字段的类

在 Go 中,字段区分大小写,首字母小写的字段表示私有字段,而首字母大写的字段表示公有字段。

创建具有私有字段的类

通过将字段声明为首字母小写的方式来定义具有私有字段的类:

type Person struct {
    name string
    age int
}

在这个示例中,Person 类的 name 和 age 字段都是私有字段。这意味着它们只能通过该类的公有方法访问。

访问私有字段

为了访问私有字段,你需要使用公有 getter 和 setter 方法。这些方法通常以 Get 和 Set 为前缀,后面跟私有字段的名称:

func (p *Person) GetName() string {
    return p.name
}

func (p *Person) SetName(name string) {
    p.name = name
}

实战案例

假设我们想创建一个名为 Student 的类,并将其私有字段包括 name、age 和 grade。我们可以这样定义:

type Student struct {
    name string
    age  int
    grade float64
}

然后,我们可以使用 Get 和 Set 方法来访问和修改私有字段:

func (s *Student) GetName() string {
    return s.name
}

func (s *Student) SetName(name string) {
    s.name = name
}

// main 函数
func main() {
    student := Student{name: "Alice", age: 20, grade: 3.8}
    student.SetName("Bob") // 访问私有字段通过公有 setter
    fmt.Println(student.GetName()) // 访问私有字段通过公有 getter
}

通过这种方式,我们可以在不破坏封装性的情况下访问和修改类的私有字段。

以上就是如何定义 Golang 中具有私有字段的类?的详细内容,更多请关注www.sxiaw.com其它相关文章!