九. Go學習:Go中的繼承

東園桃與李發表於2020-12-23

從下面的兩段程式碼中可以非常直觀的看出,Go中的繼承跟C++相比較而言是非常方便的

單重繼承


package main
import "fmt"
//---------------單重繼承----------------
type Car struct {
	weight int
	name   string
}
func (p *Car) Run() {
	fmt.Println("running")
}
type Bike struct {
	Car
	lunzi int
}
func main() {
	var a Bike
	a.weight = 100
	a.name = "bike"
	a.lunzi = 2
	fmt.Println(a)
	a.Run()

}

多重繼承

package main
import "fmt"
//----------------多重繼承----------------
type Cart1 struct {
	name string
	age  int
}
type Cart2 struct {
	name string
	age  int
}
type train struct {
	Cart1
	Cart2
}
func main() {
    var t train
	t.Cart1.name = "train"
	t.Cart1.age = 100
	fmt.Println(t)
}

相關文章