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