搜尋文章分類:Go

指標圖示

學習 Go interface 實踐多型

對於「多型 Polymorphism」的概念理解像是「要做一件事,但這件事對不同對象來說實踐的方式不同」。多型具體來說像是各種「形狀」都可以「算面積」,但實踐的方法卻不同,而在 Go 當中 interface 就是方法的集合。

指標圖示

像 Class Method 的奇特 Go Receiver Function

第一次看到 Go 的 Receiver 函式會覺得這是啥怪語法,函式名前面還能接收參數?Go 語言提倡「Composition over inheritance」(組合優於繼承),並極力追求程式碼的簡潔性,以此迴避 class-based OOP 所帶來的複雜性。

指標圖示

學習 Go Pointer 與 Passing by reference 的差異

Go 設計上一切數值都是直白的「Passing by value」,會有「Passing by value」的效果原因是因為 Reference Types 帶有指標,複製時是複製指標值。要讓 Value Types 有 Passing by Reference 的效果要顯式的使用 Pointer。