一架梯子,一头程序猿,仰望星空!
Golang中级特性面试题 > 内容正文

Go语言怎么实现面向对象编程?


问题简答

Go语言不支持类和继承,但是提供了面向对象编程的一些特性,例如:借助结构体、函数(方法)和接口特性,可以实现一些面向对象编程特性(OOP)。

问题详解:

Go面向对象例子

例如,定义一个结构体Person,包含姓名和年龄两个字段:

type Person struct {
    name string
    age  int
}

然后定义一个方法GrowUp,增加Person的年龄:

func (p *Person) GrowUp() {
    p.age++
}

最后,使用Person结构体和GrowUp方法:

func main() {
    p := &Person{"Tom", 18}
    p.GrowUp()
    fmt.Println(p.age) // 输出:19
}