go語言初探 八

2021-10-12 13:51:52 字數 759 閱讀 3774

結構體、方法、介面

go 語言中沒有「類」的概念,也不支援像繼承這種物件導向的概念。但是go 語言的結構體與「類」都是復合結構體,而且go 語言中結構體的組合方式比物件導向具有更高的擴充套件性和靈活性。

結構體定義:

type identifier struct

結構體例項建立

s1 := new(student) //第一種方式

s2 := student //第二種方式

s3 := &student

下圖中 c中的x覆蓋了a中的x

方法

定義:func (r receiver)func_name()

方法接收者可以為值接收者或指標接收者。

影響如c++

介面

在go語言中不需要顯示的去實現介面,只要乙個型別實現了該介面中定義的所有方法就是預設實現了該介面,而且允許多個型別都實現該介面,也允許乙個型別實現多個介面。

一對多 多對一 多對多定義

type namer inte***ce

型別斷言

func isdog(a animal) bool

return false

}assert???

GO語言初探

學習參考 學習go語言 q1.0 for loop 1.建立乙個基於 for 的簡單的迴圈。使其迴圈 10 次,並且使用 fmt 包列印出計數 器的值。package main func main 用 goto 改寫 1 的迴圈。關鍵字 for 不可使用。package main func main...

Go語言初探

大寫字母開頭變數為共有變數,小寫字母開頭為私有變數 函式類似 iota列舉 預設開始值為0,const中每增加一行,值加1 引用型別 類似於動態陣列 相比於array,它沒有長度限制 由於可隨意跳轉,在龐大的系統中不利於debug,所以在coding中會通過結構化程式設計來規避這類問題,那麼,在go...

go語言初探 三

說真的看到go的語法後,我還有點不習慣,感覺它的語法規則很奇怪。但或許就是這樣的語法規則讓它的執行速度變快?這也未可知。在go裡有變數和常量,但沒有列舉。列舉可以用關鍵字const去模擬。常量只能是布林型 數字型 整數型 浮點型和複數 和字串型。編譯器可以根據變數的值來判斷型別。go裡面宣告變數的方...