zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Go语言自学系列 | golang继承

Go语言Golang继承 系列 自学
2023-09-14 09:09:08 时间

视频来源:B站《golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]》

一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:Go语言自学系列 | 汇总_COCOgsta的博客-CSDN博客


golang本质上没有oop的概念,也没有继承的概念,但是可以通过结构体嵌套实现这个特性。

例如

package main

import "fmt"

type Animal struct {
    name string
    age  int
}

func (a Animal) eat() {
    fmt.Println("eat...")
}

func (a Animal) sleep() {
    fmt.Println("sleep")
}

type Dog struct {
    Animal
}

type Cat struct {
    Animal
}

func main() {
    dog := Dog{
        Animal{
            name: "dog",
            age:  2,
        },
    }

    cat := Cat{
        Animal{
            name: "cat",
            age:  3,
        },
    }

    dog.eat()
    dog.sleep()

    cat.eat()
    dog.sleep()
}

运行结果

[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go"
eat...
sleep
eat...
sleep