Go語言學習筆記九 面向 物件 拓展已有的型別

2021-09-10 19:20:23 字數 776 閱讀 9980

因為在go語言中是沒有繼承的,所以對於拓展已有的類,我們常做的方法是,建立乙個私有類,然後我們對需要推展的類,進行包裝.

包裝我們之前寫的tree.node:

/**

拓展已有的類:

拓展我們自己寫的tree.node

*/type mytreenode struct

/**拓展後續遍歷

*/func (mynode *mytreenode)postorder()

right := mytreenode

left:= mytreenode

right.postorder()

left.postorder()

mynode.node.print()

}

拓展slice:

package queue

type queue inte***ce{} //inte***ce{} 在go語言中代表,所有型別

func (q *queue) push(v inte***ce{})

func (q *queue) pop() (r inte***ce{},ok bool)

head := (*q)[0]

*q = (*q)[1:]

return head,true

}func (q *queue) isempty() bool

作者所有的學習原始碼在 go學習原始碼github位址,如果覺得有用的話幫小智貢獻乙個star?

go語言學習筆記19 物件導向

package main import fmt type interger int func a interger test b interger interger func main 輸出結果6type integer int 表示的意思是給int型別指定了乙個別名叫integer,別名可以隨便起...

go語言學習筆記20 物件導向

package main import fmt type human inte ce type student struct func s student sayhi type teacher struct func t teacher sayhi func main i s i.sayhi var...

Go語言學習九 Go語言指標

go 語言中指標是很容易學習的,go 語言中使用指標可以更簡單的執行一些任務。接下來讓我們來一步步學習 go 語言指標。我們都知道,變數是一種使用方便的佔位符,用於引用計算機記憶體位址。go 語言的取位址符是 放到乙個變數前使用就會返回相應變數的記憶體位址。package main import f...