From 03faf47f2d59dfe5aadf83c1d6a8c3a97ca393b9 Mon Sep 17 00:00:00 2001 From: Shikong <919411476@qq.com> Date: Sun, 3 Oct 2021 03:02:22 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E7=BB=93=E6=9E=84=E4=BD=93=E7=BB=A7?= =?UTF-8?q?=E6=89=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- base/struct/inheritance/main.go | 36 +++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 base/struct/inheritance/main.go diff --git a/base/struct/inheritance/main.go b/base/struct/inheritance/main.go new file mode 100644 index 0000000..8fa4619 --- /dev/null +++ b/base/struct/inheritance/main.go @@ -0,0 +1,36 @@ +package main + +import "fmt" + +// 结构体 实现 类似 其他语言的 继承 + +// Animal 动物 +type Animal struct { + Name string +} + +func (a *Animal) Move() { + fmt.Printf("%s: 移动\n", a.Name) +} + +// Dog 狗 +type Dog struct { + Animal // Animal 拥有的方法, Dog 也拥有 + Feet uint8 +} + +func (d *Dog) Cell() { + fmt.Printf("%s: 叫\n", d.Name) +} + +func main() { + d1 := &Dog{ + Animal: Animal{Name: "大黄"}, + Feet: 4, + } + + fmt.Printf("%#v\n", d1) + //d1.Animal.Move() + d1.Move() + d1.Cell() +}