golang沒有有工廠類,因為golang不支援類別(class)。 golang中並沒有明確的物件導向的說法,不能算是一種物件導向的語言,因為:1、golang只支援封裝,不支援繼承和多態;2、golang只有struct,沒有class。當然也可以將struct比喻為其它語言中的class。
本教學操作環境:windows7系統、GO 1.18版本、Dell G3電腦。
golang沒有有工廠類,因為golang不支援類別(class)。
golang中並沒有明確的物件導向的說法,不能算是一種物件導向的語言。因為:
golang只支援封裝,不支援繼承和多型
golang只有struct,沒有class
實在要扯上的話,可以將struct比喻為其它語言中的class。
類宣告
type Poem struct { Title string Author string intro string }
這樣就宣告了一個類,其中沒有public、protected、private的的宣告。
golang用另一種做法來實現屬性的存取權限:屬性的開頭字母是大寫的則在其它包中可以被訪問,否則只能在本包中訪問。類別的聲明和方法亦是如此。
類別方法宣告
func (poem *Poem) publish() { fmt.Println("poem publish") }
或
func (poem Poem) publish() { fmt.Println("poem publish") }
和其它語言不一樣,golang宣告方法和普通方法一致,只是在func後增加了poem Poem這樣的聲明。加和沒有加*的差別在於一個是傳遞指針對象,一個是傳遞值物件。
以上是golang是否有工廠類的詳細內容。更多資訊請關注PHP中文網其他相關文章!