Go語言使用組合的方式實現多繼承

2021-06-21 11:17:18 字數 381 閱讀 5489

在大多數物件導向的程式語言中多繼承都是不支援的。因為在基於class的體系中,多繼承極大地增加了編譯器的複雜性。

go語言使用組合的方式實現繼承,因此也可以很簡單的實現多繼承。

//使用組合的方式實現多繼承

type phone struct{}

func (p *phone) call() string

type camera struct{}

func (c *camera) takeapicture() string

//多繼承

type cameraphone struct

func structtest0803()

golang 使用組合的方式實現繼承

火頭陀 關注 golang並非完全物件導向的程式語言,為了實現物件導向的繼承這一神奇的功能,golang允許struct間使用匿名引入的方式實現物件屬性方法的組合 package main import fmt type people struct type people2 struct func ...

go語言 flag的使用

go語言flag的使用 package main import flag fmt var music file string flag.string file musicfile use file func main 例如檔案為flagtest.go go run flagtest.go file ...

go語言defer的使用

go語言的defer 延遲執行 語句,是在函式結束前執行,而如果在函式中有多個defer語句時,會像乙個堆疊一樣,先進後出,後進先出。defer語句在進行一些開啟資源的操作時,遇到錯誤需要提前返回,在返回前你需要關閉相應的資源,不然很容易造成資源洩露等問題上很試用。舉個defer語句簡單的使用如下 ...